使用.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.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










本文转自BearRui(AK-47)博客园博客,原文链接: http://www.cnblogs.com/BearsTaR/archive/2006/04/29/Setup.html   ,如需转载请自行联系原作者




相关文章
|
1月前
|
域名解析 缓存 Linux
如何让你的.NET WebAPI程序支持HTTP3?
如何让你的.NET WebAPI程序支持HTTP3?
60 2
如何让你的.NET WebAPI程序支持HTTP3?
|
8月前
|
安全 Shell 数据库
「学习记录」.NET程序的数据库密码解密
「学习记录」.NET程序的数据库密码解密
|
9月前
|
XML 存储 JSON
使用自定义XML配置文件在.NET桌面程序中保存设置
本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外,我们还将探讨其他常见的配置文件格式,如JSON、INI和YAML,以及它们的优缺点和相关的NuGet类库。最后,我们将重点介绍我们为何选择XML作为配置文件格式,并展示一个实用的示例。
105 0
|
1月前
|
XML 开发框架 .NET
LabVIEW中加载.NET 2.0,3.0和3.5程序集
LabVIEW中加载.NET 2.0,3.0和3.5程序集
32 4
|
3天前
|
开发框架 前端开发 调度
C#基于Quartz.NET实现任务调度并部署Windows服务
C#基于Quartz.NET实现任务调度并部署Windows服务
8 1
|
19天前
|
自然语言处理 C# 图形学
​一款开源的.NET程序集反编译、编辑和调试神器
本文介绍了.NET反编译和调试工具dnSpyEx的使用方法。dnSpyEx是dnSpy的非官方Fork版本,支持.NET Framework、.NET Core和Unity程序集的调试和编辑,具有多种语言界面。主要功能包括:浅色、蓝色和深色主题,调试支持,代码编辑以及多语言支持。用户可以从GitHub下载并直接运行dnSpyEx,无需安装。通过创建测试项目,编译成dll文件,然后使用dnSpyEx进行调试和编辑程序集中的代码和IL指令。此外,文章还提供了项目源码地址和相关优秀项目的链接。
|
1月前
|
开发框架 .NET 开发工具
LabVIEW加载.NET程序集
LabVIEW加载.NET程序集
31 1
|
8月前
|
开发框架 .NET Linux
ASP.NET Core部署到linux(CentOS)
ASP.NET Core部署到linux(CentOS)
200 0
ASP.NET Core部署到linux(CentOS)
|
7月前
|
开发框架 .NET 测试技术
.NET Core 日志记录程序和常用日志记录框架
本文主要内容为.NET Core的日志记录程序和常使用的日志记录框架的简单使用 首先,打开VS2019新建一个ASP.NET Core Web Api项目,项目创建好后会有一个集成好的天气预报的类和控制器,接下来,我们的方法就在天气控制器里完成。
56 0
|
8月前
|
开发框架 .NET 应用服务中间件
ASP.NET Core 部署HTTPS
ASP.NET Core Kestrel部署HTTPS1,在program.cs中CreateHostBuilder 替换成如下内容:public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseServ...
92 0