【问题标题】:WIX: Can I set upgrade guid at time of installation through command prompt?WIX:我可以在安装时通过命令提示符设置升级 guid 吗?
【发布时间】:2015-07-16 07:38:23
【问题描述】:

我想在运行时设置升级 guid,例如:-

<Upgrade Id="[UPGRADEID]" />

然后在安装时进行设置

msiexec /i ...\WiXWebInstaller.msi UPGRADEID="62718b57-574D-4A9A-A266-5B5EC2C02210"

【问题讨论】:

    标签: tags wix wix3.5


    【解决方案1】:

    嗯,没有,因为以下原因:

    • 尝试按照您尝试的方式编译项目,您将遇到以下错误:Upgrade/@Id 属性的值“[UPGRADEGUID]”不是合法的 guid 值。强>

    • 其次,在MSDN上查找Upgrade table的描述。升级元素填充升级表中特定升级代码的升级信息。代码 sn-p 中的 Id 指的是 Upgrade 表中的 UpgradeCode 列。

    查看this column的描述,可以看到该列的数据类型为GUID。这意味着您必须为 Id 值使用实际的 GUID。如果数据类型被格式化,那么您可以使用您粘贴的代码 sn-p。

    希望这会有所帮助。

    【讨论】:

    • Thanx Kiran....它清除了想法...还有一个问题...我可以在安装时更改升级 ID 吗???
    • 您好,请问您是在安装程序执行后是否可以更改它?我从未尝试过这样做,但我的猜测是这可能是可能的。
    • 没错,即使我可以在安装时更改现有的升级ID也没关系.....其次我也想知道产品名称是否会发生同样的事情?
    • 关于升级代码,是的,你可以。我早些时候在一个测试项目中尝试过,我能够按照你的要求做。但是,我不建议这样做。原因是,升级代码是神圣不可侵犯的,在初始化时用于 msi 包中的各种操作。升级表所需的操作、检测旧版本产品等操作都依赖于升级代码。
    • 无论您在哪里对自定义操作进行排序以设置升级代码,我怀疑 Windows 安装程序引擎中的某些初始化例程会在您设置其值之前使用升级代码.
    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多