【问题标题】:Create a setup for windows form application Without Administrator password while install为安装时没有管理员密码的 Windows 窗体应用程序创建设置
【发布时间】:2018-08-02 05:50:22
【问题描述】:

我在 Visual Studio 中开发了一个 Windows 窗体应用程序。现在,我想在没有管理员权限的情况下在我的 PC 上安装该 Windows 应用程序。如何创建设置。 (我已经在我的 PC 上安装了 Photo Pad 图像编辑器应用程序,但没有管理员权限)。

【问题讨论】:

  • 最终归结为正确使用ALLUSERS 属性(确保您也点击了单包创作的链接)并确保您没有尝试写入受限路径(例如@987654322 @)。具体取决于您用于编写安装程序的技术。

标签: c# setup-project visual-studio-setup-proje


【解决方案1】:

您最好的选择是使用 ClickOnce。安装典型应用程序不需要管理员权限。原因之一是因为 ClickOnce 应用程序是为当前用户安装的,而不是为本地计算机上的每个人安装的。

您可以从项目设置的 发布 标签中执行此操作。最好的部分是不需要编程。

【讨论】:

【解决方案2】:

使用 Visual Studio 安装项目很难做到这一点,因为它们多年没有更新,尤其是在 UAC 合规性方面。这是大纲,在没有 UAC 对话框的情况下编写包:

https://docs.microsoft.com/en-us/windows/desktop/msi/authoring-packages-without-the-uac-dialog-box

在 Visual Studio 世界中通常归结为:

  1. 您不能使用安装、写入或更改任何禁止受限用户使用的内容。换句话说,如果您没有提升权限,则无法在程序文件夹中安装文件、创建 HKLM 注册表项、安装服务等。您不能仅仅因为您正在安装而绕过安全规则。无论 MSI 是如何构建的,这都适用。

  2. 在 Visual Studio 安装项目中,将 InstallAllUsers 设置为 False(项目属性窗口),并且不允许用户在安装文件夹对话框属性窗口中更改它(将 InstallAllUsersVisible 设置为 false)。

  3. 构建 MSI 文件后,使用 Orca(MSI 文件编辑器)打开它并查看摘要信息,然后设置 UAC 兼容标志)。

Visual Studio 不是最好的工具,但至少这会让你到达那里,但请注意,它是按用户安装的,机器的任何其他用户都看不到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2020-06-19
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2011-03-09
    相关资源
    最近更新 更多