一旦通过Wix安装到程序文件文件夹,C#exe就无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一旦通过Wix安装到程序文件文件夹,C#exe就无法正常工作相关的知识,希望对你有一定的参考价值。

我有一个C#winforms应用程序,一旦安装到C:/ProgramFiles文件夹就无法工作。我使用用Wix创建的MSI进行安装。当双击exe或右键单击并以管理员身份运行时,会弹出此窗口,然后没有任何反应:

应用错误消息:

enter image description here

该应用程序在Visual Studio中工作,当通过我的VS项目的bin / Debug文件夹访问时(Debug文件夹中的exe是我用于Wix安装的文件夹)。

安装MSI之后,如果我将C:/ProgramFiles的exe文件复制到我的一个用户文件夹(例如:C:/Users/User/Desktop),则exe工作正常。

我猜这是某种UAC/permissions问题,但我找不到任何文件来证实这个理论。任何方向都会非常感激。

编辑:看错误日志,它拒绝我访问我的配置文件。这是错误文本:Access to the path 'C:Users*username*AppDataRoamingLeer CopyleerConfig.xml' is denied.

编辑II:这个问题变得更加混乱(令人沮丧)。它将允许我写入AppData文件夹但不读取它(从技术上讲它不应该反过来吗?)...真的很感激一些帮助。我正在通过XDocument阅读我的XML文件的内容。

答案

最初隐藏了配置文件,所以人们不会乱用它/意外删除它。使文件不被隐藏修复了访问拒绝,一切都按现在的方式工作。

以上是关于一旦通过Wix安装到程序文件文件夹,C#exe就无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

在 WIX 迁移中管理用户配置

蜡烛.exe 访问被拒绝

使用 wix 工具集安装多个 exe

Wix:如何创建超过 2GB 的 bundle.exe(外部文件)

WiX MSI 和 EXE 作为一个 EXE

在程序文件下运行 .exe 时出现 System.UnauthorizedAccessException