打包部署时,如何设置安装路径

描述:最近在使用C#制作安装包工具,进行打包部署。遇到一个问题,先安装第一个安装包,在安装第二个安装包的时候,希望在第一个安装包的路径下,继续安装第二个。费了好大的功夫才实现,所以一定要留下此篇文章作纪念。(如果图片内容看不清楚,可以按住ctrl + 鼠标滚轮 调整页面比例)

第一步:首先创建一个安装类,虽然这个安装类中的代码没有实际意义。但后续会根据安装类往注册表中保存安装路径。

打包部署时,如何设置安装路径_第1张图片

 

选中setup1,选择View->Custom Actions->

打包部署时,如何设置安装路径_第2张图片

第二步:在Install中添加,安装类所在的类库,并设置CustomActionData属性

打包部署时,如何设置安装路径_第3张图片

第三步:View->注册表,在HKEY_CURRENT_USER->Software中创建 项目路径如:Sinooceanland->WebApp 并创建字符串值,设置value为[TARGETDIR]

 打包部署时,如何设置安装路径_第4张图片

That's  OK,编译安装后,就会在注册表中出现

 打包部署时,如何设置安装路径_第5张图片

GO on…..

要在Setup1的安装路径下安装Setup2,首先找到setup2的View-启动条件

打包部署时,如何设置安装路径_第6张图片

第四步:注册表搜索项中创建 SearchInstallDir, RegKey找到Setup1的注册信息,并根据Value的值获取到Setup1的安装路径,赋值给WLWINSTALLDIR

打包部署时,如何设置安装路径_第7张图片

第五步:注册表搜索项中,Root的属性也很重要,vsdrrHKCU表示HKEY_CURRENT_USER,因为之前我的Setup1注册在了HKEY_CURRENT_USER,所以选择vsdrrHKCU,你的呢?LOL

 打包部署时,如何设置安装路径_第8张图片

第六步:启动条件,表示先安装setup1之后才能安装setup2(截图是setup3,nevermind)

打包部署时,如何设置安装路径_第9张图片

第七步:View->文件系统,设置DefaultLocation属性,为注册表中获取到的路径,使用变量[WLWINSTALLDIR],例如[WLWINSTALLDIR]\test\

打包部署时,如何设置安装路径_第10张图片

编译安装 success

It's over…..

Thanks for  URL:http://www.crifan.com/make_msi_installer_for_csharp_dll_project/

And my best friend  yangyangyang

 

你可能感兴趣的:(打包部署)