【问题标题】:How can I create a windows installer MSI that does not require admin access如何创建不需要管理员访问权限的 Windows 安装程序 MSI
【发布时间】:2010-11-11 17:35:05
【问题描述】:

我创建了一个 MSI windows 安装程序,它安装了我为办公室使用的一个软件编写的插件。但是,这里的许多用户没有对其计算机的管理员权限,并且 IT 不得不为他们安装插件而感到沮丧。

我的安装程序除了将几个文件复制到用户可以访问的位置复制文件之外什么都不做。有什么方法可以修改我的安装项目,使生成的 MSI 不需要管理员权限?

【问题讨论】:

标签: c# visual-studio-2010 windows-installer setup-project


【解决方案1】:

我目前没有设置来测试这个,但假设是 Wix,在 Package 元素中,尝试设置 InstallPrivileges='limited'InstallScope='perUser'

也就是说,如果您真正需要做的只是复制一些文件,可以考虑使用简单的批处理脚本。

【讨论】:

  • 是的,我们之前使用的是批处理文件,但我只是将其用作学习练习。
  • 我在 Visual Studio 2010 中使用安装项目。我认为这与 Wix 不一样,对吗?
  • 抱歉,经过一番研究,您似乎是对的:VS2010 不附带 Wix(我使用 SharpDevelop)。如果您只是在学习,我建议您使用 Wix(个人偏好)。 VS 包称为 Votive。对于给您造成的任何困惑,我深表歉意!
【解决方案2】:

这里有两种方法:

1) 创建一个不需要管理员权限的安装程序,因为它不会安装任何需要它的东西。如果您真的可以做到这一点,您可能需要考虑安装 ClickOnce 并查看它是否满足您的需求。

2) 让您的 IT 部门了解如何将 MSI 放到网络共享上并通过组策略发布。这样,用户可以去添加/删除程序并初始化安装,但无需系统管理员手动从一个桌子走到另一个桌子就可以运行它。 (我有点惊讶他们还不知道该怎么做。)

【讨论】:

  • 如何创建不需要管理员权限的安装程序?我当前的安装程序在 Program Files 中创建一个文件夹并将文件复制到其中。它还将文件写入 appdata 的子文件夹。这些操作是否需要管理员权限?另外我的程序是一个插件(DLL)而不是一个独立的应用程序。因此,当我右键单击该项目时,我没有获得“发布”选项。
  • 您要么使用托管/提升安装模式,要么将您的应用程序设计为仅安装不需要管理员权限的资源。您提到的位置需要管理员权限。
猜你喜欢
  • 2021-12-26
  • 2010-09-09
  • 2018-06-25
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
相关资源
最近更新 更多