VS2008安装项目 - 可移植性

时间:2010-01-22 22:50:37

标签: deployment installation

当我将文件添加到我的安装部署项目时,Visual Studio将不允许我编辑“SourcePath”来解析像$(DLL_PATH)这样的环境变量。它在我的本地计算机上添加了带有源路径的文件,并在本地构建良好。当在另一台机器上构建相同的项目时,除非该机器与所需文件具有完全相同的路径,否则它将无法工作。

我希望SourcePath解析$(DLL_PATH),只要机器正确定义它,MSI包就可以正常构建。

不确定subst,因为我无法控制其他构建机器的外观。如果我尝试将已知目录分配给虚拟驱动器,它可能会失败吗?

2 个答案:

答案 0 :(得分:1)

最好的办法是使用subst.exe或连接点来创建虚拟目录。有关交接点的信息,请参阅here。 Subst.exe只是创建一个虚拟驱动器号。将所有可部署文件放在具有明确定义的constanct子路径的某个目录树中,并使该树的根目录成为连接点或虚拟驱动器。

答案 1 :(得分:1)

实际上我所做的是设置一个script.cmd,在构建项目输出后运行,将依赖项复制到一个文件夹,该文件夹与声明的$(DLL_PATH)中的实际项目文件夹相对。安装项目实际上使用项目的相对路径,而不是绝对路径。所以无论构建机器是什么样子,这都有效。然后是一个脚本,最后删除这个文件夹。