Mik*_*e W 10 installation installer windows-installer
我使用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 AddIn.我想学习如何标记MSI文件,使其不要求管理员权限,因为我的MSI文件只将文件复制到每个用户的位置,只将注册表设置写入HKEY_CURRENT_USER.
Mik*_*e W 12
我相信我在这个页面上找到了答案:
http://blogs.msdn.com/b/rflaming/archive/2006/09/30/778690.aspx
如何构建标准用户包?
这需要一些工作才能将程序包安装到标准用户有权限的位置.一些要求是
在InstallUISequence中使用Type 51 Custom Action始终取消设置ALLUSERS(每用户选项)
文件只能写入标准用户有权访问的文件夹.假设ALLUSERS始终设置为每用户设置,您可以使用可重定向文件夹属性,但不能使用ProgramFilesFolder,因为它不会在每个用户上重定向.
将应用安装到LocalAppDataFolder下的某个位置.
应将所有注册表设置写入HKCU,注册表的根列中为1.
翻转摘要信息流中的字计数属性的第3位,以表示不需要凭证提示.
如果您有一个bootstrapper(通常名为setup.exe),请显示requestedExecutionLevel以运行asInvoker.
通过ICE验证,因为ICE检查每个用户和每个机器状态的混合不正确.
从标准用户帐户和提升的命令提示符进行测试以确认行为.
提供用户对软件包特定用户性质的文档,因为这在当今的应用程序安装中是非典型的.
注意:步骤5可以使用Microsoft的MSI编辑工具Orca完成.在Orca中打开MSI文件,选择View - > Summary Information ...然后选中"UAC Compliant"复选框.
注意#2:可以使用Microsoft SDK中包含的WiSumInf.vbs示例脚本文件来完成步骤5:C:\ Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\msi\scripts\WiSumInf.vbs
注意#3:步骤1似乎在Visual Studio步骤项目中通过右键单击安装项目,选择视图 - >用户界面,获取"安装/启动/安装文件夹"页面的属性和设置来处理"InstallAllUsersVisible"为False.
注意#4:另一种方法是执行步骤5,使用"适用于Windows Installer开发人员的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
Run Code Online (Sandbox Code Playgroud)
请注意,您必须更改MsiInfo的路径以匹配系统中的路径.
对于带有 Visual Studio 的 Visual Studio v2017 ?Installer Projects v0.9.1:
此解决方案需要作为Windows SDK一部分安装的命令行工具
在 Visual Studio 中:在解决方案资源管理器中选择 Visual Studio 安装程序项目。
按 F4 键查看项目属性
将 InstallAllUsers 设置为 false
在解决方案资源管理器中右键单击项目 > 查看 > 文件系统
选择应用程序文件夹。(右键单击 > 属性窗口)将
[ProgramFilesFolder] 更改为 [LocalAppDataFolder]
构建 MSI
(右键单击解决方案资源管理器中的项目 > 构建)
打开命令提示符或添加构建后事件以运行 Windows SDK 实用程序 msiinfo.exe - 示例:
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MsiInfo.exe" "c:\yourprogram\installer.msi" -w 10
注意: msiinfo.exe-w 10开关将 MSI 文件的 MSI“字数摘要”属性设置为“压缩 - 安装此软件包不需要提升权限”。更多信息在这里