应用程序每次运行时都会自行提取

时间:2015-04-15 05:16:58

标签: c# wpf installation installshield

我已经使用WPF创建了一个应用程序,并且代码使用了C#但是它提出了一个问题,即无论何时使用cmd命令静默安装安装程序,例如

setup.exe /s /v/qn

它可以完美地提取上面给定行之后包含在其中的所有项目。但是一旦设置完成,我们尝试运行这个应用程序,它执行但显示在给定的图像下面 enter image description here

安装程序在installshield中创建,它可以选择不在本地计算机中提取msi缓存。请帮我找出为什么会出现这个问题。

1 个答案:

答案 0 :(得分:1)

这与Windows Installer的自动修复功能有关。

我猜您使用的是广告快捷方式。每次用户使用此特殊类型的快捷方式运行应用程序时,Windows Installer都会对其执行完整性检查。如果检测到任何问题,安装程序将执行" Repair"在您的应用程序启动之前。情况似乎如此。

您可以在开始菜单的属性对话框中检测广告的快捷方式。目标字段将被禁用,并且不包含可执行文件的路径。

可能的解决方法是使用常规快捷方式,但这不会解决导致对话框出现的实际问题。

您可以尝试使用ProcMon(https://technet.microsoft.com/en-us/library/bb896645.aspx)进一步调查并查看启动期间是否存在任何问题。另一个选择是强制记录(https://support.microsoft.com/en-us/kb/2545723)并查看是否有任何信息可以帮助您找到导致此错误的原因。

自我修复的另一个切入点是创建随安装程序包一起提供的COM对象。