我有一个使用 VS2008 构建的 Web 设置项目。我已经将我的解决方案转换为 VS2010,现在当我构建新的安装程序并从 MSI 运行安装时,它安装得很好,然后在最后一步,删除刚刚安装的所有文件。
我已将RemovePreviousVersions 设置为true。如果我关闭此功能,文件将保留在原位(但我在控制面板的程序和功能中获得多个实例)。
如果我再次运行安装,这些文件会重新出现。从那时起,即使安装另一个版本,这些文件也将始终保留。因此,问题似乎出在运行使用 VS2008 构建的安装程序,然后运行 VS2010 构建的相同安装程序。每个安装程序上的升级 GUID 都是相同的。
原因是什么?我该如何解决这个问题?
我还没有尝试将安装程序从 VS2008 移植到 2010,但是对于不同的构建版本使用相同的升级代码会导致问题;简单的解释是 msiexec 安装程序在尝试删除旧组件时失败,因为旧组件与正在安装的新组件具有相同的升级版本。有一个 VS 项目设置,可以在每次重建 .msi 时自动生成新的升级代码;我通常选择这个,这样可以避免很多版本控制的麻烦。
使用以下命令卸载应用程序的所有副本
添加/删除程序
删除 %TEMP% 文件夹的内容(
摆脱任何“旧”(VS2008)副本
您的 .msi)
更新 VS2010 版本的 GUID(我认为您可以通过右键单击
属性窗口中的 GUID 并单击“生成新 GUID”)
重建项目并重试!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)