1. 主页 > vs安装问题 > VS2017安装问题 >

Visual Studio Installer文件系统(File system)安装条件(

笔者最近在Visual Studio 2010中使用Visual Studio Installer创建安装项目时碰到了一个非常奇怪的问题。

笔者想做一个installer,需要往一个已经安装过的软件目录下复制文件,但是该安装的软件不同的版本的路径地址不一样,所以需要设置文件安装条件。

笔者参考http://msdn.microsoft.com/zh-cn/library/vstudio/e7e70ac3(v=vs.100).aspx ,

首先在Lauch Condition中添加了注册表搜索条件,将第一个注册表搜索条件命名为SEARCHFOR2013PATH


然后,在File System 添加一个自定义文件夹,将需要安装的文件拖到此文件夹中,假设其中的一个文件时1.txt,需要将1.txt安装到2013PATH下的bin文件夹下

一开始的时候,笔者在DefaultLocation中设为[SEARCHFOR2013PATH]\bin,并直接将1.txt放置于FileSystem的2013Bin下面,后来发现,不管注册表中有没有检索到2013的path,1.txt都会去安装,如果注册表搜索结果为空,那么在安装的时候就会报“Cannot access network location bin”的错误,这个问题困扰了笔者1天,不管试什么样的条件,True 或者 False,都不行。

后来终于找到一个解决办法,参考了http://stackoverflow.com/questions/3135239/how-do-i-specify-visual-studio-installer-conditions

这个是VS的小trick,我觉得也算是一个bug了,需要在安装文件的目录下面建立一个子文件夹,将子文件的安装条件设置成SEARCHFOR2013PATH,同时,在File System下面的文件夹节点的DefaultLocation可以设置为子文件夹的上级目录,然后,还需要对这个文件夹(bin)下的每个文件设置condition为SEARCHFOR2013PATH,这样就可以执行条件安装了。如上图所示。

真想吐槽一下微软。。


本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2017anzhuangwenti/2020/0725/4988.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息