使用.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   ,如需转载请自行联系原作者




相关文章
|
5天前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
13 0
|
7天前
|
监控 安全 API
Docker + .NET API:简化部署和扩展
Docker + .NET API:简化部署和扩展
16 0
|
9天前
|
监控 安全 API
最完美的扩展Docker + .NET API:简化部署和扩展
最完美的扩展Docker + .NET API:简化部署和扩展
29 0
|
1月前
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
111 11
|
1月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
1月前
|
SQL 关系型数据库 数据库
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
|
1月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
2月前
|
开发框架 监控 安全
.NET 应用程序安全背后究竟隐藏着多少秘密?从编码到部署全揭秘!
【8月更文挑战第28天】在数字化时代,.NET 应用程序的安全至关重要。从编码阶段到部署,需全面防护以保障系统稳定与用户数据安全。开发者应遵循安全编码规范,实施输入验证、权限管理和加密敏感信息等措施,并利用安全测试发现潜在漏洞。此外,部署时还需选择安全的服务器环境,配置 HTTPS 并实时监控应用状态,确保全方位防护。
41 3
|
2月前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
57 0
|
2月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题