【问题标题】:WiX : Adding an entry to the GAC in Major UpgradeWiX:在主要升级中向 GAC 添加条目
【发布时间】:2011-04-06 15:12:33
【问题描述】:

我已对我的安装程序脚本进行了重大升级,需要将其中一个附加组件插入 GAC。我正在使用以下代码序列

<Component Id="Net20ApiAssembliesGAC" Guid="GUID">  
<File Id="FileId" Name="FileName" 
  DiskId="1" Assembly=".net" KeyPath="yes" 
  Source="..\..\API\DotNet\Assemblies\v2.0\FileName" />  
</Component>

安装而不是升级早期版本是成功的,但是,如果我升级,我会在详细日志中看到以下条目

取消注册共享组件提供者

组件注销

并且该条目未出现在 GAC 中。

我已经使用 移动了 RemoveExistingProducts,但这没有效果。

【问题讨论】:

    标签: wix windows-installer gac


    【解决方案1】:

    你知道组件注销被调用的地方吗?这不应该发生,但可能是由 RemoveExistingProducts 启动的嵌套卸载无意中从 GAC 中删除了您的(新)组件。这不应该发生,除非您已经完成了诸如重用 GUID 之类的操作。通常,REP 除了清除现在已过时并计划移除的组件外,不会对任何其他操作进行操作。

    【讨论】:

    • 假设我理解它在行动中的问题 : ProcessComponents.更新组件注册
    【解决方案2】:

    文件组件的关键成员的版本是否高于旧包中的版本?这是 Windows Installer 升级旧组件所必需的。

    如果它使用相同的版本,旧的组件会被移除,而新的组件不会被安装。这是一个已知的 Windows Installer 错误。

    【讨论】:

    • 原包中不存在该文件,是附加组件
    • 对不起,我修改了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 2011-02-15
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    相关资源
    最近更新 更多