使用.NET部署程序出现的奇怪问题

       公司的1个产品有3个版本,希望在安装程序里让客户选择安装哪个版本。并把客户选择的版本信息写入文件。
      所以先在安装项目的用户界面中添加了1个3个RadioButton的窗体(如图:)
r_1.GIF
并设置此窗体的属性为:
r_2.GIF

然后添加1个新项目SetupCode,并添加1个安装程序类:

并在安装程序类的

 1 None.gif protected   override   void  OnAfterInstall(IDictionary savedState)
 2 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
 3InBlock.gif    // 取选择的版本号
 4InBlock.gif    string _strSelect = Context.Parameters["EditionSelect"];    
 5InBlock.gif    // 取安装路径
 6InBlock.gif    string _strPath = Context.Parameters["LogicPath"];
 7InBlock.gif           System.IO.StreamWriter _sw = new System.IO.StreamWriter(_strPath + @"\1.txt");
 8InBlock.gif    _sw.WriteLine(_strSelect);
 9InBlock.gif    _sw.WriteLine(_strPath);
10InBlock.gif    _sw.Flush();
11InBlock.gif    _sw.Close();
12InBlock.gif
13InBlock.gif    base.OnAfterInstall (savedState);
14ExpandedBlockEnd.gif}


并把SetupCode项目添加为部署项目的主输出,并添加为到自定义操作中:
r_3.GIF
设置主输出来自SetupCode(活动)的CustomActionData属性为
/EditionSelect=[EDITIONSELECT]  /LogicPath=[TARGETDIR]

然后生成项目后发现安装的时候只要安装路径中只要含有空格就会报错,比如:
C:\Program Files\Corp
而没有空格的时候就不会出错,郁闷了很久了,最好乱试了下发现把CustomActionData改成这样就行了,不知道什么原因:
/EditionSelect=[EDITIONSELECT]  /LogicPath="[TARGETDIR]\"

不知道有没有人碰见过同样的问题,碰见过的话希望能告只你的解决方法!

上面的部署过程写的很简介,如果有人看的不是很明白,可以先下载这个文件看看,以前收藏某位网友的vs.net安装部署深入研究.rar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值