gpt4 book ai didi

installation - 如何为受限(非管理员)用户进行设置

转载 作者:行者123 更新时间:2023-12-04 03:17:22 24 4
gpt4 key购买 nike

我已经使用 Visual Studio 2008 (SP1) 为 Office 2007 AddIn 创建了一个 Visual Studio 安装项目。该安装程序仅将文件复制到每个用户的位置 ( LocalAppData ),并且仅将注册表设置写入 HKEY_CURRENT_USER ,但在 Windows 7 下运行时,MSI 会在开始复制文件之前要求提供管理员凭据。安装程序在 Windows XP 上的受限用户帐户下完美运行,但在 Windows 7 下,似乎需要管理员权限。
我无法找到删除管理员提升要求的方法,我想知道如何执行此操作,或者是否无法使用 Visual Studio 安装项目执行此操作。
更新 2010-11-03(更多细节)
当我构建 Visual Studio 安装项目时,它会创建一个 setup.exe 和一个 MSI 文件。 Visual Studio 2008 似乎没有让我充分控制 setup.exe 的创建方式或 MSI 文件的创建方式。 setup.exe 文件似乎仅用于安装我的 Office 2007 AddIn 可能需要的任何先决条件。它是可以独立运行的 MSI 文件,用于安装实际的 Office 2007 插件。我想学习如何标记 MSI 文件,使其不要求管理员权限,因为我的 MSI 文件只将文件复制到每个用户的位置,并且只将注册表设置写入 HKEY_CURRENT_USER .

最佳答案

我相信我已经在这个页面上找到了答案:

http://blogs.msdn.com/b/rflaming/archive/2006/09/30/778690.aspx

如何构建标准用户包?

这需要做一些工作才能将软件包安装到标准用户具有权限的位置。一些要求是

  • 在 InstallUISequence 中使用 Type 51 自定义操作来始终取消设置 ALLUSERS(每个用户选项)
  • 文件只能写入标准用户有权访问的文件夹。假设 ALLUSERS 始终设置为每用户设置,您可以使用可重定向文件夹属性,但不能使用 ProgramFilesFolder,因为它不会针对每个用户进行重定向。
  • 将应用程序安装到 LocalAppDataFolder 下的某个位置。
  • 所有注册表设置都应写入 HKCU,它在注册表表的根列中为 1。
  • 翻转摘要信息流中字数属性的第 3 位,以表示不需要凭据提示。
  • 如果您有 bootstrap (通常命名为 setup.exe),则将 requestsExecutionLevel 显示为作为 Invoker 运行。
  • 通过 ICE 验证,因为 ICE 检查是否错误地混合了每个用户和每个机器的状态。
  • 从标准用户帐户和提升的命令提示符进行测试以确认行为。
  • 提供您的用户文档,说明包的用户特定性质,因为这在当今的应用程序安装中是不典型的。


  • 注意:步骤 5 可以使用 Microsoft 的 MSI 编辑工具 Orca 完成。在 Orca 中打开 MSI 文件,选择“查看”-->“摘要信息...”,然后选中“符合 UAC 标准”复选框。

    注意 #2:步骤 5 可以使用 Microsoft SDK 中包含的 WiSumInf.vbs 示例脚本文件完成:C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\msi\scripts\WiSumInf.vbs

    注意 #3:在 Visual Studio Step Project 中似乎通过右键单击安装项目,选择 View-->User Interface,获取“安装/启动/安装文件夹”页面的属性并设置来处理步骤 1 “InstallAllUsersVisible”为假。

    注意 #4:执行步骤 5 的另一种方法,使用“Windows 安装程序开发人员的 Windows SDK 组件”中包含的 MsiInfo.exe 工具 http://msdn.microsoft.com/en-us/library/aa370310(VS.85).aspx

    除了注意 #4:假设您使用的是长文件名和压缩媒体(MSI 的默认行为),PostBuildEvent 命令将类似于:
    "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\MsiInfo.exe" "$(BuiltOuputPath)" /w 10

    请注意,您必须更改 MsiInfo 的路径以匹配它在系统中的路径。

    关于installation - 如何为受限(非管理员)用户进行设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080131/

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