VS2010安装程序项目升级和快捷方式

3
我有一个针对C# Winforms解决方案的VS2010设置项目。使用增量程序集版本和增量设置版本来部署更新非常好用。问题在于msi启动(在应用程序内部),它会覆盖快捷方式,从而破坏任何用户创建的快捷方式(比如固定到任务栏)。我已将快捷方式更改为未发布广告,但是任何用户创建的快捷方式仍会出现以下消息:Advertised shortcut's prompt with an "Incorrect Parameter" error after the update。即使使用以下参数进行安装也无法解决问题:
msiexec /i Updates\\Installer.msi /qn /L install.log REINSTALLMODE=amus DISABLEADVTSHORTCUTS=1
1个回答

1
通常,新的产品版本在升级过程中会自动检测并使用旧的安装路径。这样,任何使用安装路径的自定义快捷方式或其他元素仍然能正常工作。
对于MSI软件包,Visual Studio并没有提供这个功能,但你可以尝试自己实现。一种常见的方法是使用搜索(在启动条件编辑器中)来找到原始安装路径,并将其保存在主文件夹属性(TARGETDIR)中。其他安装工具默认情况下也会这样做。
如果每个产品版本都使用唯一的安装路径,你无法修复用户创建的自定义快捷方式。

我已经进行了更改,将安装路径设置为相同的路径,但它会覆盖较新的文件并始终覆盖快捷方式。我已经开始研究WiX作为构建安装程序的替代方案。 - Jan de Jager
@JandeJager,你能够解决这个问题吗?我使用WiX创建了一个安装程序,也遇到了同样的问题。 - Thomas Freudenberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接