• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
BearRui(AK-47)
花开有时,错过了一日便错过了一季,就象人生错过了相遇,就不再找寻到美丽的相聚
博客园    首页    新随笔    联系   管理    订阅  订阅
使用.NET部署程序出现的奇怪问题
公司的1个产品有3个版本,希望在安装程序里让客户选择安装哪个版本。并把客户选择的版本信息写入文件。 所以在安装项目的用户界面中添加了3个RadioButton的窗体................. 结果发现安装的时候只要安装路径中含有空格就会出错,而没空格的时候就安装成功!

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

并设置此窗体的属性为:


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

并在安装程序类的

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


并把SetupCode项目添加为部署项目的主输出,并添加为到自定义操作中:

设置主输出来自SetupCode(活动)的CustomActionData属性为
/EditionSelect=[EDITIONSELECT]  /LogicPath=[TARGETDIR]

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

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

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

[作者]:BearRui(AK-47)
[博客]: http://www.cnblogs.com/BearsTaR/
[声明]:本博所有文章版权归作者所有(除特殊说明以外),转载请注明出处.
posted on 2006-04-29 14:33  BearRui(AK-47)  阅读(1483)  评论(8)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3