Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix Vista中的可再发行失败_Wix - Fatal编程技术网

Wix Vista中的可再发行失败

Wix Vista中的可再发行失败,wix,Wix,我在我的Wix安装程序中使用以下代码 <DirectoryRef Id="TARGETDIR"> <Merge Id="CRT" Language="0" SourceFile=".\resources\Microsoft_VC90_CRT_x86.msm" DiskId="1" /> <Merge Id="ATL" Language="0" SourceFile=".\resources\Microsoft_VC90_ATL_x86.msm" Di

我在我的Wix安装程序中使用以下代码

    <DirectoryRef Id="TARGETDIR">
  <Merge Id="CRT" Language="0" SourceFile=".\resources\Microsoft_VC90_CRT_x86.msm" DiskId="1" />
  <Merge Id="ATL" Language="0" SourceFile=".\resources\Microsoft_VC90_ATL_x86.msm" DiskId="1" />
  <Merge Id="MFC" Language="0" SourceFile=".\resources\Microsoft_VC90_MFC_x86.msm" DiskId="1" />
  <Merge Id="MFCLOC" Language="0" SourceFile=".\resources\Microsoft_VC90_MFCLOC_x86.msm" DiskId="1" />
  <Merge Id="OpenMP" Language="0" SourceFile=".\resources\Microsoft_VC90_OpenMP_x86.msm" DiskId="1" />
  <Merge Id="CRT Policy" Language="0" src=".\resources\policy_9_0_Microsoft_VC90_CRT_x86.msm" DiskId="1" />
  <Merge Id="MFC Policy" Language="0" src=".\resources\policy_9_0_Microsoft_VC90_MFC_x86.msm" DiskId="1" />
</DirectoryRef>

<Feature Id="VCRedist" Title="Visual C++ 9.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
  <MergeRef Id="CRT" />
  <MergeRef Id="CRT Policy"/>
  <MergeRef Id="ATL" />
  <MergeRef Id="MFC" />
  <MergeRef Id="MFC Policy"/>
  <MergeRef Id="MFCLOC" />
  <MergeRef Id="OpenMP"  />
</Feature>

我觉得用这段代码构建的msi可以在很多XP系统中运行,但在Vista中失败了。程序和快捷方式在Vista(如XP)中正确创建

在Vista中,我应该如何安装这些可再发行文件??我不想使用引导程序创建setup.exe。我的要求是所有东西都只在一个msi中

任何代码示例都会对我有很大帮助

提前感谢您的宝贵帮助

问候,


TVKS

< P>我认为C++ ReDIST是推荐使用MS预先封装的MSI安装的包之一,我也很肯定,安装程序中包含的所有合并模块都需要相应的策略合并模块,而不仅仅是CRT和MFC。
另一件事是检查你的微星是否在Vista中正常提升(UAC提示符)

在我当前的项目中,我们以你在文章中描述的相同方式安装VC90可再发行文件。我们使用相同的属性/值等。但是,我们不包括任何策略模块。它可以在XP和Vista下工作

Wix教程指出:

通常不需要将策略MSMs作为安装的一部分

因此,如果您还没有尝试过,请创建一个没有任何策略的安装,看看是否效果更好