首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vista中的Redistributable失败

Vista中的Redistributable失败
EN

Stack Overflow用户
提问于 2009-10-12 13:35:32
回答 2查看 658关注 0票数 0

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

代码语言:javascript
复制
    <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

EN

回答 2

Stack Overflow用户

发布于 2009-10-13 17:05:34

我想c++ redist是推荐使用微软预装的msi安装的软件包之一,而且我非常确定你安装程序中包含的所有合并模块都需要相应的策略合并模块,而不仅仅是crt和mfc。

在Vista中检查msi是否正确提升的另一件事(UAC提示)

票数 0
EN

Stack Overflow用户

发布于 2009-10-22 13:43:15

在我目前的项目中,我们按照您在帖子中描述的相同方式安装VC90可再发行程序。我们使用相同的属性/值等。但是,我们不包含任何策略模块。它可以在XP和Vista下运行。

Wix教程指出:

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

因此,如果您还没有尝试过,那么可以在没有任何策略的情况下创建一个安装,看看这样做是否能更好地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1554622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档