我已经使用WPF创建了一个应用程序,并且代码使用了C#但是它提出了一个问题,即无论何时使用cmd命令静默安装安装程序,例如
setup.exe /s /v/qn
它可以完美地提取上面给定行之后包含在其中的所有项目。但是一旦设置完成,我们尝试运行这个应用程序,它执行但显示在给定的图像下面
安装程序在installshield中创建,它可以选择不在本地计算机中提取msi缓存。请帮我找出为什么会出现这个问题。
答案 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对象。