gpt4 book ai didi

wpf - 除非以管理员身份运行,否则使用 WiX 安装的应用程序将无法正常工作

转载 作者:行者123 更新时间:2023-12-04 22:31:39 48 4
gpt4 key购买 nike

This existing question on SO可能正是我需要的,但没有得到回答。 ;)

在我对 WiX 安装程序的初始测试中,我没有意识到这一点,但我的应用程序在安装后无法在 Windows 7 上正常运行。各种程序集需要读取/写入我的安装文件夹中的文件,但在运行时拒绝访问。

如果我然后以管理员身份运行该应用程序,它将完美运行。我还可以手动更改应用程序的属性,使其始终以管理员身份运行。但是,我不希望用户每次都对 UAC 提示单击"is"。

我没有得到的部分是,如果我从我的源代码文件夹运行我的可执行文件,我不必以管理员身份运行它,它可以完美运行。

谁能解释为什么:
1. 我的可执行文件,当从我的 bin/Debug 文件夹运行时,不需要以管理员身份运行并且可以工作吗?
2. 如何让 WiX 安装可执行文件,使其工作方式完全相同? (即不需要右键单击+以管理员身份运行)

谢谢!

最佳答案

程序通常不应该对 Program Files 文件夹中的内容进行欺骗,但如果您确实需要这样做,则需要确保将程序安装文件夹的权限设置为安装过程的一部分。

既然我已经责备你试图这样做,我将给出一个来自 WiX 安装程序的示例,该示例是我维护的一个程序,它执行同样的顽皮日志文件写入:

<Directory Id="DirectoryLogs" Name="Logs">
<Component Id="ComponentCreateFolderLogs" Guid="SOME-GUID">
<CreateFolder>
<Permission
GenericAll="yes"
User="Authenticated Users" />
</CreateFolder>
<RemoveFile
Id="RemoveFileLogsAll"
Name="*.*"
On="uninstall" />
</Component>
</Directory>

所以安装程序将创建 Logs文件夹,给所有 Authenticated Users NTFS 权限对该目录造成严重破坏,并清除在原始安装后作为卸载过程的一部分创建的所有日志文件,以保持干净卸载。

是不是很棒的设计?不——Windows Logo 要求对此感到震惊——但这种情况经常发生,尤其是在内部环境中,所以这就是你的做法。

祝你好运!

关于wpf - 除非以管理员身份运行,否则使用 WiX 安装的应用程序将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4083078/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com