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

Application is extracting itself every time when runs

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

setup.exe /s /v/qn

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

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

这与 Windows 安装程序的自动修复功能有关。

我猜你正在使用广告中的快捷方式。每次用户使用这种特殊的快捷方式访问 运行 应用程序时,Windows 安装程序都会对其进行完整性检查。如果检测到任何问题,安装程序会在启动您的应用程序之前执行 "Repair"。好像是这样。

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

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

您可以尝试使用 ProcMon (https://technet.microsoft.com/en-us/library/bb896645.aspx) and see if there are any problems during the startup. Another option you have is to force logging (https://support.microsoft.com/en-us/kb/2545723) 进一步调查,看看是否有任何信息可以帮助您找到此错误的原因。

自我修复的另一个切入点是创建安装程序包附带的 COM 对象。