首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

Visual Studio Installer文件系统(File system)安装条件(Condition)出错以及解决方法

2013-01-26 
Visual Studio Installer文件系统(File system)安装条件(Condition)出错以及解决办法笔者最近在Visual Stu

Visual Studio Installer文件系统(File system)安装条件(Condition)出错以及解决办法

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

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

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

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

Visual Studio Installer文件系统(File system)安装条件(Condition)出错以及解决方法

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

Visual Studio Installer文件系统(File system)安装条件(Condition)出错以及解决方法

一开始的时候,笔者在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可以设置为子文件夹的上级目录,这样就可以执行条件安装了。如上图所示。

真想吐槽一下微软。。


热点排行