我通过VS 2008为我们的C#应用程序创建了MSI安装程序。我安装了它。它在桌面上为我创建了一个快捷方式。我点击了那个快捷方式,再次运行安装过程,最后我们的应用程序启动了。在我添加一些自定义操作来创建数据库之前,昨天不是这样的。我没有在安装程序中重新创建快捷方式。为什么会这样?
答案 0 :(得分:6)
使用Orca手动打开MSI。将以下记录添加到Property表(Property,Value)中,不带引号:
Property ='DISABLEADVTSHORTCUTS' 值='1'
这也可以编写脚本并作为后期构建事件的一部分运行。
答案 1 :(得分:5)
MSI附带自动修复功能,可在您使用快捷方式启动应用程序时检查MSI安装的所有组件是否仍然存在。
在您的情况下,可能已删除了一个(或多个)组件,因此再次启动安装程序以修复您的安装。
防止自动修复运行
或
从您的其他问题看来,您的MSI似乎是由Visual Studio安装和部署项目创建的。不幸的是,没有选项可以在Visual Studio中修改密钥路径。您有以下选择:
答案 2 :(得分:1)
快捷方式是指向您的应用程序还是您的设置?如果它指向您的设置并将其更改为您的应用程序,问题是否会消失?
答案 3 :(得分:1)
听起来系统认为安装已损坏并且正在自动尝试修复,。事件日志中的任何内容(在应用程序事件日志中查找MsiInstaller的源代码)。
您是否构建了多个副本?
答案 4 :(得分:1)
当应用程序删除安装期间部署的文件时,会发生这种情况。自动修复已激活,因此您将获得安装屏幕。
答案 5 :(得分:0)
有同样的问题。在我看来,问题是Deoplyment Project属性中的'Manufacturer'和'ProductName'字段。它必须与您的快捷方式指向的文件夹结构相同,否则您将最终得到'资源'C:\ Program Files(x86)[Manufacturer] [ProductName] \'不存在'错误里面事件查看器。