Jac*_*ack 6 wix uninstall upgrade
简而言之,创建卸载条目的方法如下:
<Shortcut Id="UninstallProduct"
Name="Uninstall My Application"
Target="[SystemFolder]msiexec.exe"
Arguments="/x [ProductCode]"
Description="Uninstalls My Application" />
Run Code Online (Sandbox Code Playgroud)
根据罗布Mensching的建议在这里,如果应用程序是足够小,你不需要处理小更新和次要升级(我不),你可以强制每次更新是一个重大的升级.这在这里显示.我用Rob的建议是这样的:
<Product Id="*" UpgradeCode="PUT-GUID-HERE" Version="$(var.ProductVersion)">
<Upgrade Id="PUT-GUID-HERE">
<UpgradeVersion OnlyDetect="yes" Minimum="$(var.ProductVersion)" Property="NEWERVERSIONDETECTED" IncludeMinimum="no" />
<UpgradeVersion OnlyDetect="no" Maximum="$(var.ProductVersion)" Property="OLDERVERSIONBEINGUPGRADED" IncludeMaximum="no" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize" />
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,如果产品ID是随机的(*)以允许进行重大升级,是否有其他方法可以将卸载快捷方式添加到开始菜单,还是我们必须通过添加/删除程序来实现?我更喜欢在开始菜单中创建快捷方式,因为它对用户来说更容易.显然它现在的方式,它将无法工作,因为msiexec参数中使用的[ProductCode]将在每次安装时更改.谢谢.