为什么我的MSI安装创建的快捷方式每次都会重新启动设置过程?

5Yr*_*DBA 6 .net c# windows-installer

我通过VS 2008为我们的C#应用​​程序创建了MSI安装程序.我安装了它.它在桌面上为我创建了一个快捷方式.我点击了那个快捷方式,再次运行安装过程,最后我们的应用程序启动了.在我添加一些自定义操作来创建数据库之前,昨天不是这样的.我没有在安装程序中重新创建快捷方式.为什么会这样?

小智 6

使用Orca手动打开MSI.将以下记录添加到Property表(Property,Value)中,不带引号:

Property ='DISABLEADVTSHORTCUTS'值='1'

这也可以编写脚本并作为post build事件的一部分运行.


Dir*_*mar 5

微星自带的自动修复功能,检查时,您使用的快捷方式启动应用程序通过MSI安装的所有部件是否仍然存在.

在您的情况下,可能已删除一个(或多个)组件,因此再次启动安装程序以修复您的安装.

防止自动修复运行

  • 确保未删除任何文件,注册表设置或其他已安装的组件

要么

  • 不要为这些组件设置密钥路径.这将阻止MSI检查这些特定组件

从您的其他问题看来,您的MSI似乎是由Visual Studio安装和部署项目创建的.不幸的是,没有选项可以在Visual Studio中修改密钥路径.您有以下选择:

  • 使用Orca手动修改MSI(这不是一个好的选择,因为它是一个手动步骤)
  • 编写脚本,例如使用VBScript修补MSI文件
  • 转移到更高级的安装系统,为您提供更多控制,如WiX或NSIS