• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
BearRui(AK-47)
花开有时,错过了一日便错过了一季,就象人生错过了相遇,就不再找寻到美丽的相聚
博客园    首页    新随笔    联系   管理    订阅  订阅
为.NET部署应用程序添加个卸载程序

地球人都知道.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/
[声明]:本博所有文章版权归作者所有(除特殊说明以外),转载请注明出处.
posted on 2006-04-03 10:23  BearRui(AK-47)  阅读(1274)  评论(3)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3