【发布时间】:2022-11-29 06:04:16
【问题描述】:
我有一个包含以下包信息的 WIX 安装程序
<Package InstallerVersion="200"
InstallScope="perMachine"
Compressed="yes"
Description="$(var.ProductName)"
Manufacturer="$(var.ProductManufacturer)"
InstallPrivileges="elevated"
Platform="$(var.Platform)"/>
这导致了这种情况
单击“Installieren”后,UAC 出现并要求管理员权限,这是正确的。
在此安装程序中,我必须运行自定义操作来安装资源管理器 shellextension
<CustomAction Id="RegisterShellExtension"
Directory="INSTALLDIR"
ExeCommand='[INSTALLDIR]RegShell.exe --mode register --restartExplorer --path "[INSTALLDIR]$(var.ProductName)ShellExtension.dll"'
Impersonate="no"
Execute="deferred"
Return="ignore">NOT VersionNT64</CustomAction>
<Custom Action="RegisterShellExtensionx" After="InstallFinalize">(NOT VersionNT64) AND (NOT Installed)</Custom>
在 RegShell.exe 的清单中要求管理员权限
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
这就导致了UAC再次请求管理员权限的情况。
是否有可能只提高一次 UAC 而不是两次?
【问题讨论】:
标签: windows wix windows-installer