【发布时间】:2018-01-23 11:56:01
【问题描述】:
我正在为 C# 项目创建安装程序。它需要非托管的第 3 方 C++ dll 才能连接到硬件设备。当我从调试器运行项目时,或者当我在已安装的程序上右键单击 -> 以管理员身份运行时,一切正常。但是,如果我不以某种方式以管理员身份运行它,它就会崩溃。那么如何将安装程序设置为不需要管理员权限即可运行?我知道我可以将 app.manifest 中的 requestedExecutionLevel 设置为 requireAdministrator,但我不希望每次都出现 UAC 提示,而且我不确定最终用户的机器是否能够以管理员身份运行任何东西。
我目前的解决方法是将它直接安装到 C:/,但我想将它安装到相同的 Program Files 目录中,所有其他应用程序都安装到没有这个挫折。
【问题讨论】:
-
请一次问一个问题,不要问两个不相关的问题
-
我不确定您所说的“其他没有这种挫折的应用程序”是什么意思。任何安装到 Program Files 中的安装程序都会生成 UAC 提示。这是预期的行为 - 如果您不是管理员,则无法在 Program Files 中安装软件。
-
我删除了另一个问题。 “其他没有这个挫折的应用程序”我想我的意思是“其他没有外部库/不提示管理员权限的应用程序的应用程序”
-
但是外部库不应该与它有任何关系 - 要安装在 Program Files 中,您必须具有管理员权限。
标签: c# .net windows-installer dllimport unmanaged