在Vista中升级Windows安装程序

Vista需要提升安装驱动程序或其他系统项目的安装程序的权限。 Pointsec有这些安装程序中的一个,安装程序本身不会请求提升,因此必须事先授予提升权限。

将此软件安装到禁用UAC的多台计算机上时,安装该软件然后重新启用UAC非常繁琐。 一个会照顾UAC的方法将是优选的。

安装程序是networking共享上的MSI软件包。 该共享还具有安装程序应在安装中查找和使用的安assembly置文件。 这工作正常,没有UAC,但我们还没有设法得到这与UAC运行。

我的主要问题是,当提升进程时,似乎失去了工作目录。 所以虽然msiexec的参数正确,networking共享作为工作目录的快捷方式工作(即启动,但由于没有提升错误)运行这个快捷方式“以pipe理员”抱怨没有findmsi包。 进程监视器显示msiexec试图从Windows \ System32中find软件包。 指定包的完整UNCpath将启动安装程序,但无法findconfiguration文件。 那么升级一个不需要提升本身的windows安装程序的正确方法是什么?

基本上你有一个devise不好的安装程序。

你可以尝试的是将属性表中的ALLUSERS属性设置为1(使用Orca,在Windows Installer SDK中查找Orca.msi),这将强制每个机器的安装。

在这种情况下,安装程序会在安装过程中请求提升( 这是UAC + MSI应该如何工作的 ),你应该没问题。

这篇文章为什么我的起始目录被忽略,当我提升命令提示符? 关于Raymond Chen的博客可能与此有关。

我也知道,一些提升启发式是非常简单的,例如,如果文件被命名为“安装”或“安装”,它将请求提升。 目前我无法find我的来源。

这不是一个高度技术性的答案,但也许是有用的。

一种方法是运行提升的命令提示符,在那里改变工作目录,然后从那里运行安装程序。 从提升的cmd.exe启动的任何东西本身都会boost。