实际问题: 我们第一次安装产品时,我们可以在控制面板上看到3个程序,1个主程序(A)和2个链接程序(B,C)。可以说,我们现在将B更新为新版本。此版本更新已将新的ProductCode分配给B.但新的产品代码未在主(A)中更新,这会破坏链式包层次结构。由于master(A)在其IsChainedPackage表中没有新的ProductCode,因此无法卸载C& B卸载A时。
我正在尝试从注册表中获取值并将其分配给" IsChainPackage"中的一列。 MSI表。
我发现我可以创建自定义操作并为公共属性赋值。但我无法在IsChainPackage表的ProductCode列中找到如何使用此属性。 我正在寻找一个解决方案,我可以更新Media-> Releases-> Pckg1 / Pckg2行下的ProductCode字段,其值在注册表中。有可能吗?
可替换地, 在为产品(例如A)启动卸载时,是否可以使用ProductCode卸载其他产品(例如B)?我的意思是,当我们点击卸载A时,首先我要卸载B,然后是A.我可以使用一些自定义操作吗?如果是,我需要在该自定义操作中执行哪些设置?
答案 0 :(得分:0)
您是否使用Suite安装程序安装所有3种产品或InstallScript?
无论哪种方式,您都可以使用msiexec.exe编写自定义操作来运行卸载程序。 SteinÅsmul在这篇文章中有一个很好的卸载参考: