我制作了一个安装程序,即Visual Studio SetupProject
,它安装了我开发的软件,并检查目标计算机上是否安装了某个程序。如果没有,它将启动其原始安装文件。此文件在安装期间复制到目标计算机,并在CUSTOM ACTION
。{/ p>中启动
安装一切顺利,但我只有一个问题:
单独的安装程序,我没有开发,应该将PATH附加到User Environment Variables
,引用其自己的安装文件夹中的BIN文件夹的路径。它没有!我检查了PATH
的{{1}}注册表值,但它确实没有更新。
然而,当我单独安装程序时一切顺利!
我尝试将附加的安装文件的User Environment Variables
属性从PackageAs
更改为vsdpaDefault
,以便进行操作,可能会更多"分开&# 34;有点说,但它并没有改变任何东西。
为什么vsdpaLoose
没有更新?我的猜测是我的安装程序没有必要的某些权利来更改这些变量。
BTW我正在使用Visual Studio 2010。
答案 0 :(得分:0)
我相信汉斯有答案。如果您从自己的设置启动自定义操作,则它将使用本地系统帐户运行。这意味着它没有作为当前交互式用户运行,因此它无法更新当前用户的路径,因为它没有作为当前用户运行。
根据定义,此设置不能是基于MSI的安装,因为它会失败 - 您无法执行递归MSI安装 - 因此它基于代码并依赖于在交互式用户的上下文中运行。