我有一个需要以管理员权限运行的MSI。此安装程序将执行一些管理员工作,并最终在用户的桌面上放置一个快捷方式。当我将安装程序设置为“以管理员身份运行”时,MSI实际上在管理员帐户的配置文件下运行。快捷方式位于管理员桌面下,而不是用户桌面下。
是否可以使用提升的权限(而非以管理员身份运行)运行安装程序,这将提示输入管理员凭据,但仍然在非管理员用户的配置文件下运行安装程序,以便将快捷方式,新文件夹,新文件等放入非管理员用户的位置?
据我所知,“以提升权限运行”和“以管理员身份运行”只是说同样事情的不同方式。我所知道的一件事,就是安装了一个安装程序,其名称包含'setup'或'install'(或本地化的等价物)的可执行文件将自动以提升的权限运行,因为安装程序必须这样做。
—
RobH
“以管理员身份运行”会提升流程并以另一个用户身份运行流程。所以是的,存在差异,即使作为管理员用户,您有时也需要提升流程。
—
Ramhound
为什么非管理员用户尝试运行需要提升的msi?
—
kreemoweet
@billoreid是的,只是如果用户是管理员组的成员,它运行的“其他用户”就是相同的用户名和用户配置文件。它仍然被认为是“另一个用户”,它有微妙的副作用。例如,映射驱动器对于提升的进程消失,这是因为映射的驱动器是“每个用户”,并且因为您作为“不同的用户运行(即使它具有相同的用户名)”,映射不存在。
—
Scott Chamberlain
@billoreid - 运行该进程的用户必须具有这些提升的权限才能将该进程提升为该用户而不是另一个用户。
—
Ramhound