【问题标题】:Why my .exe file doesn't work when I install the program?为什么我的 .exe 文件在我安装程序时不起作用?
【发布时间】:2021-09-15 13:36:42
【问题描述】:

我在计算机上安装 Windows 窗体应用程序时遇到问题。当我单击 .exe 文件时,它不执行任何操作。要启动应用程序,我必须以管理员身份运行程序。 它是用 C#、.Net Framework 4.7.2 开发的,我将它安装在装有 Windows 10 的计算机上。 谢谢!

【问题讨论】:

  • 你正在写入程序目录中的任何文件吗?写入此文件夹需要管理员权限。检查事件查看器以查看是否有任何错误。
  • 可能是 Windows Defender 的问题。它通常不喜欢来自不受信任来源的 .exe 文件(包括未签名的 .exe,甚至来自您自己的计算机)。
  • 是的,我将照片保存到一个文件夹中,当程序启动时,我在程序目录中创建该文件夹。如果我想在任何地方保存文件,我必须获得管理员权限吗? @JonasH
  • 不要将文件保存在程序文件夹中。使用special folders for application data 之一
  • 您是说您的程序在您右键单击,以管理员身份运行 时可以运行,但是当您双击它时它似乎什么也没做?在这种情况下,您正在做一些需要管理员权限的事情(我们无法从您的描述中得知)。查看事件日志,您可能会看到崩溃。使用 SysInternals 的 Process Monitor 来找出你想要做什么(如果你不知道的话)。如果您想要管理员访问权限,请将 manifest 添加到您的应用

标签: c# .net visual-studio


【解决方案1】:

您不应将任何内容保存到程序文件的应用程序文件夹中。您应该为任何可能更改的数据使用单独的文件夹。有几个位置可供选择:

  • ProgramData 包含非用户特定的应用程序数据。此数据将可供计算机上的所有用户使用。任何全局数据都应该放在这里。
  • AppData 文件夹包含配置设置,已下载 特定用户的信息/文件。因此,例如任何用户 特定的首选项和配置文件配置可以存储在 应用数据文件夹。 AppData 文件夹进一步分为三个 子文件夹
    • 漫游 - 此文件夹包含可随您的移动 用户配置文件从一台计算机到另一台。
    • 本地 - 此文件夹包含 不会随您的用户个人资料移动的数据。
    • LocalLow - 你可以放 在低级访问信息中,例如与网络相关的信息 在此文件夹中以保护模式运行的浏览器。

source

可以使用Special Folders访问这些文件夹的位置

string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2014-03-07
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多