应用程序快捷方式尝试重新安装应用

时间:2010-05-28 22:33:35

标签: c# deployment windows-installer

我使用VS Setup项目创建了一个部署文件(msi)。这个msi文件在desktop中创建了一个快捷方式。在部署过程中,我已经在其中添加了一些预定义的数据文件(.xml / text)。应用程序快捷方式正常工作,即它打开应用程序并运行正常。

但是,一旦我从安装位置删除了一些数据文件,然后单击应用程序快捷方式,它就开始安装应用程序并将所有这些文件再次复制到原始安装位置。我的问题是如何在删除文件后停止重新安装。

谢谢, Pritam

2 个答案:

答案 0 :(得分:1)

从此post

  

另一个常见的误解是当尝试在组件内禁用自我修复时,因为当缺少Keypath时会触发自我修复,会假设删除关键路径以停止自我修复。 实际上,如果您希望在单个组件上停止自我修复,正确的方法是从组件表中删除组件组件GUID。 (这将在打包的GUID部分中详细解释)

您可以使用Orca(手动)执行指定的操作。或者您可以使用WiRunSQL.vbs(Win 7 SDK)脚本自动执行此操作作为PostBuildEvent命令。

答案 1 :(得分:1)

您正在体验Windows Installer的“修复”功能。

由于您正在安装播发快捷方式,因此会触发此操作。

如果您不喜欢此行为,请不要将快捷方式指定为广告。

Shortcut Table上的这篇MSDN文章为您提供了有关指定广告与非广告的一些信息。

可悲的是,Visual Studio与InstallShield或WiX等真正的安装程序开发环境没有相同的自定义功能,因此您尝试做的事情很棘手。更多信息here