Installation 在高级安装程序的安装结束时执行多个exe

Installation 在高级安装程序的安装结束时执行多个exe,installation,windows-installer,advanced-installer,Installation,Windows Installer,Advanced Installer,我想在安装完成后执行两个文件,但我不想让它们显示UAC对话框。我试图使用最大执行级别,但它不起作用 当您声明使用了“最大执行级别”时,您的意思是什么? 您是否在可执行文件清单中使用“highestAvailable”的级别值 查看MSDN文章以供参考: 如果启动的可执行文件不需要任何特权即可操作,则应坚持使用“asInvoker”级别。这将阻止可执行文件显示UAC对话框 问候,, Kiran Hegde我假设可执行文件是在“安装-执行”序列之外启动的。我猜当用户单击安装完成对话框上的“完成”按

我想在安装完成后执行两个文件,但我不想让它们显示UAC对话框。我试图使用最大执行级别,但它不起作用

当您声明使用了“最大执行级别”时,您的意思是什么? 您是否在可执行文件清单中使用“highestAvailable”的级别值

查看MSDN文章以供参考:

如果启动的可执行文件不需要任何特权即可操作,则应坚持使用“asInvoker”级别。这将阻止可执行文件显示UAC对话框

问候,,
Kiran Hegde

我假设可执行文件是在“安装-执行”序列之外启动的。我猜当用户单击安装完成对话框上的“完成”按钮时,您正在尝试启动这些可执行文件。
使用UAC,应用程序和任务始终在非管理员帐户的安全上下文中运行,除非管理员特别授权对系统的管理员级访问。i、 e即使您以管理员身份登录,您运行的任何应用程序都不会以完全管理权限运行。需要管理员访问令牌的每个应用程序都必须提示管理员同意。管理员登录时,将为用户创建两个单独的访问令牌:标准用户访问令牌和管理员访问令牌。标准用户访问令牌包含与管理员访问令牌相同的用户特定信息,但管理Windows特权和SID将被删除。标准用户访问令牌用于启动应用程序。然后使用标准用户访问令牌显示桌面(Explorer.exe)。Explorer.exe是所有其他用户启动的进程从中继承其访问令牌的父进程。因此,所有应用程序都作为标准用户运行,除非用户提供同意或凭据以批准应用程序使用完整管理访问令牌

在您的情况下,我假设msi包是从非提升的命令提示符安装的。因此,msi包是以标准用户权限运行的。因此,在InstallExecute序列之外从此msi包派生的任何子进程都将以标准用户权限运行

要使应用程序符合UAC,应用程序需要在应用程序清单中指定“请求的执行级别”。请求的执行级别指定应用程序所需的权限

可执行文件的应用程序清单中请求的执行级别是什么? 通过使用Sysinternals套件中名为“sigcheck.exe”的工具,可以验证可执行文件的嵌入式清单中指定的请求执行级别

验证请求的执行级别。 我认为它设置为“requireAdministrator”,因为它会提示您提升。将此更改为“asInvoker”,然后您的问题就会得到解决

您可以在以下位置阅读有关UAC的更多信息:

问候,


Kiran Hegde

我是说我以管理员的身份运行msi。你的问题解决了吗?你的问题需要更多的帮助吗