我有点困惑。我有一个C#WPF应用程序。当我运行EXE文件时,此功能可以实现。
现在,我已经设置了一个安装程序(Visual Studio Installer项目)。该安装程序将根据需要安装该应用程序,并创建一个桌面快捷方式。
如果我现在通过桌面图标启动该应用程序,则将再次执行安装程序,并要求其提供管理员访问数据。输入数据后,应用程序将直接启动。每当我单击桌面图标时,就会发生这种情况。
我在应用程序项目中使用costura.fody包来绑定一个可执行文件。
有人想出什么问题了吗?
我已经从Visual-Studio-Installer-Project中读取了桌面图标,并始终检查应用程序状态。我认为这就是为什么每次单击桌面上的应用程序图标时都会启动安装程序的原因。
答案 0 :(得分:1)
简短答案 :这是一个MSI自修复问题。
- 计算出触发自我修复的组件。详细信息如下。
- 通过更改设置以消除冲突情况来纠正情况。
自我修复 :这是 self-repair
或 self-healing
或 "resiliency"
(取决于您询问的人)。我在此处进行了说明: Why does the MSI installer reconfigure if I delete a file? 在底部有三个链接。我会说一句“如何在自己的包裹中避免” 。
了解 :有a longer explanation of self-repair here。 “自我修复的主要原因” 部分说明了3个主要原因,您是第一个。
罪魁祸首 :您应该检查事件日志,以获取有关哪些文件/组件触发自我修复的线索:
确定了引发维修的组件后,就会a variety of fixes。但是首先可能要检查list of common mistakes in your own package。
上一个答案 :想到它之前有几个答案: