C++ cli 如何引导C++;2010年可通过C+再发行+/ClickOnce应用程序? 我有一个旧的C++应用程序,我最近添加了CLR支持。这样我就可以使用mage.exe生成创建ClickOnce应用程序所需的清单文件。经过一些令人沮丧的工作后,我能够创建清单文件

C++ cli 如何引导C++;2010年可通过C+再发行+/ClickOnce应用程序? 我有一个旧的C++应用程序,我最近添加了CLR支持。这样我就可以使用mage.exe生成创建ClickOnce应用程序所需的清单文件。经过一些令人沮丧的工作后,我能够创建清单文件,c++-cli,clickonce,bootstrapper,prerequisites,C++ Cli,Clickonce,Bootstrapper,Prerequisites,现在,我想创建setup.exe文件,类似于在C#项目中使用“发布”选项时得到的文件。该文件将检查.NETFramework 4、Windows安装程序3.1和VisualC++ 2010 X86可分发的必备条件,必要时安装。 我尝试过使用Bootstrapper清单生成器,但我不确定如何让它检查并安装所有3个必备组件,以及启动我拥有的ClickOnce.application文件。该产品的文档有点零碎 我还尝试使用msbuild/target:publish来模拟在C#项目中看到的发布选项,但

现在,我想创建setup.exe文件,类似于在C#项目中使用“发布”选项时得到的文件。该文件将检查.NETFramework 4、Windows安装程序3.1和VisualC++ 2010 X86可分发的必备条件,必要时安装。 我尝试过使用Bootstrapper清单生成器,但我不确定如何让它检查并安装所有3个必备组件,以及启动我拥有的ClickOnce.application文件。该产品的文档有点零碎

我还尝试使用msbuild/target:publish来模拟在C#项目中看到的发布选项,但没有成功

我甚至尝试编辑.vcxproj文件以包含一个引导文件(如本文所示:和),但都没有成功

是否可以在我的应用程序清单(myapp.exe.manifest)中添加一些类似于将CLR设置为先决条件的依赖项

<dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
          <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>


那么,有谁能提供一些指导,告诉我如何生成一个安装包来检查我上面提到的先决条件,必要时进行安装,然后启动ClickOnce.application文件?我认为这里的难点在于它是C++ C++ CLIKONE应用程序,没有IDE支持来创建安装包。所以你不会在这方面找到很多帮助。用VS2010你又一次尝试了,它不再使用并行缓存中的CRT。您还需要至少部署msvcr100.dll。哦,好吧,这至少是有希望的。我添加了一个Setup&Deployment项目,只是为了查看它作为检测到的依赖项拾取了什么。它显示了Microsoft_VC100_CRT_x86.msm和Microsoft_VC100_MFC_x86.msm然后打包了msvcp100.dll、mfc100u.dll、mfc100.dll、mfcm100.dll、mfcm100u.dll和msvcr100.dll。您是否认为通过ClickOnce将这些文件作为复制到客户端计算机的文件(.deploy files)包含在内是个坏主意?您必须部署它们,没有它们它就无法运行。我知道我必须部署它们。我只是想知道是否应该将它们作为ClickOnce的文件依赖项安装到与exe相同的位置。更新:我在机器上的可执行目录中安装了DLL,而没有C++重新分配和VAILA!只是想知道,exe如何知道在那里找到这些DLL并使用它们?我想它会检查可执行目录,然后检查系统目录,如果没有找到它们?