博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为.NET部署应用程序添加个卸载程序
阅读量:6604 次
发布时间:2019-06-24

本文共 1883 字,大约阅读时间需要 6 分钟。

地球人都知道.NET自带的部署程序用起来很方便很简单,但.NET部署程序是没有卸载文件。

下面的方法可以很简单的为你的程序添加1个卸载文件,.NET是利用windows Installer来部署程序的,
所以我们也就可以用windows Installer来卸载程序。
1、先部署程序,记下程序的ProductCode 的值 
(选择解决方案资源管理器根目录如setup,再查看属性标签,不是右键中的属性)
2、建立1个新的winFrom程序
3、删除自动生成的form1。
4、添加个类,写入下面代码
  [STAThread]
  static void Main() 
  {
   if(System.Environment.OSVersion.ToString().IndexOf("NT 5") >= 0)
   {
    Process.Start("msiexec","/uninstall {BDA4996C-6895-4F4C-839C-9AFE22FB8545}");
    //BDA4996C-6895-4F4C-839C-9AFE22FB8545就是第1部的ProductCode
   }
   Application.Exit();
  }
5、再把这个新的卸载程序添加到你的安装包里就行了。
---------------------------
下面是Windows (R) Installer. V 3.0的命令差数(供参考):
msiexec /Option <Required Parameter> [Optional Parameter]

安装选项

 </package | /i> <Product.msi>
  安装或配置产品
 /a <Product.msi>
  管理安装 - 在网络上安装产品
 /j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
  播发产品 - m 播发到所有用户,u 播发到当前用户
 </uninstall | /x> <Product.msi | ProductCode>
  卸载产品
显示选项
 /quiet
  安静模式,无用户交互
 /passive
  无从参与模式 - 只显示进程栏
 /q[n|b|r|f]
  设置用户界面级别
  n - 无用户界面
  b - 基本界面
  r - 精简界面
  f - 完整界面(默认值)
 /help
  帮助信息
重新启动选项
 /norestart
  安装完成后不重新启动
 /promptrestart
  提示用户重新启动(如果必要)
 /forcerestart
  安装后总是重新启动计算机
日志选项
 /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
  i - 状态消息
  w - 非致命警告
  e - 全部错误消息
  a - 操作的启动
  r - 操作特定记录
  u - 用户请求
  c - 初始界面参数
  m - 内存不足或致命退出信息
  o - 磁盘空间不足消息
  p - 终端属性
  v - 详细输出
  x - 额外调试信息
  + - 扩展到现有日志文件
  ! - 每一行刷新到日志
  * - 记录所有信息,除了 v 和 x 选项
 /log <LogFile>
  与 /l* <LogFile> 相同
更新选项
 /update <Update1.msp>[;Update2.msp]
  应用更新
 /uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
  删除产品的更新
修复选项
 /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
  修复产品
  p - 仅当文件丢失时
  o - 如果文件丢失或安装了更旧的版本(默认值)
  e - 如果文件丢失或安装了相同或更旧的版本
  d - 如果文件丢失或安装了不同版本
  c - 如果文件丢失或较验和与计算的值不匹配
  a - 强制重新安装所有文件
  u - 所有必要的用户特定注册表项(默认值)
  m - 所有必要的计算机特定注册表项(默认值)
  s - 所有现有的快键方式(默认值)
  v - 从源运行并缓存本地数据包
设置公共属性
 [PROPERTY=PropertyValue]

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

你可能感兴趣的文章
操作系统(四)---MS-DOS微软磁盘操作系统
查看>>
ajax提交表单
查看>>
FTP服务
查看>>
我的友情链接
查看>>
xcode8运行后后台打印网络相关的日志
查看>>
python语言中函数的传参与基本练习
查看>>
Java集合框架面试题
查看>>
Django1.7中注册、登陆、以及cookie的使用
查看>>
实现Lync Server 2010企业版前端服务器部署
查看>>
Java的主要就业方向
查看>>
关于使用mac进行文件远程操作
查看>>
Ubuntu Server 14.04 配置VNC
查看>>
我的友情链接
查看>>
Tcl命令操作实验-----(6)---case foreach
查看>>
Tcl命令操作实验-----(12) ---字典
查看>>
akka的Hello
查看>>
scala的视图界定
查看>>
PHP扩展之文件系统
查看>>
智能手机将替代PC成大众最常用终端 智能手机前景无限
查看>>
解决linux下用ntpdate同步时间
查看>>