代码之家  ›  专栏  ›  技术社区  ›  Dave

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

  •  4
  • Dave  · 技术社区  · 14 年前

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

    如果我以管理员的身份运行该应用程序,它会工作得很好。我还可以手动更改应用程序的属性,以便它始终以管理员身份运行。但是,我不希望用户每次都在UAC提示符下单击Yes。

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

    1 回复  |  直到 7 年前
        1
  •  6
  •   Nicholas Piasecki    14 年前

    程序通常不应该在“程序文件”文件夹中做手脚,但如果确实需要这样做,则需要确保在安装过程中设置程序的安装文件夹的权限。

    既然我已经斥责过你试图这样做,我将给出一个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徽标的需求对此感到抓狂——但它经常发生,特别是在内部环境中,所以这就是您的做法。

    祝你好运!

    推荐文章