【问题标题】:C# exe not working once installed to program files folder via Wix通过 Wix 安装到程序文件夹后,C# exe 无法正常工作
【发布时间】:2017-12-18 03:05:59
【问题描述】:

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

应用程序错误消息:

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

MSI安装后,如果我将exe复制出来 C:/ProgramFiles 到我的用户文件夹之一(例如:C:/Users/User/Desktop)exe 有效。

我猜这是某种UAC/permissions 问题,但我找不到任何文档来证实该理论。任何方向将不胜感激。

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

编辑二: 这个问题越来越令人困惑(和令人沮丧)。它将允许我写入 AppData 文件夹但不能从中读取(从技术上讲,它不应该表现得相反吗?)......非常感谢一些帮助。我正在通过 XDocument 读取我的 XML 文件的内容。

【问题讨论】:

  • 是否将文件写入本地文件夹?在错误时添加一个 console.log 命令并尝试从控制台调用它,这样你就会得到真正的错误。
  • 您可以尝试打印出错误日志吗?
  • 添加了包含错误文本的编辑

标签: c# windows-installer uac wix3.11


【解决方案1】:

最初隐藏了配置文件,因此人们不会弄乱它/意外删除它。使文件不隐藏修复了访问拒绝问题,并且现在一切正常。

【讨论】:

  • 您是否为每个用户编写一个这样的配置文件?换句话说,该应用程序是否适用于所有用户?
  • 是的,这是正确的,每个用户在各自的 appdata 文件夹中都有一个配置
猜你喜欢
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
  • 1970-01-01
  • 2012-07-27
  • 2022-10-09
  • 2012-08-19
  • 1970-01-01
相关资源
最近更新 更多