另也可通过VS的打包功能,对编写的的程序进行安装包,方便用户部署。
六) 打包时加入卸载功能
方法一
在打包项目中添加文件msiexec exe(一般可在c \windows\system \下找到) 在文件系统视图中选择应用程序文件夹 在msiexec exe上按右键 选择创建快捷方式 重命名快捷方式为 卸载 更改此快捷方式的Arguments 为 /x {产品id} 产品id的值为打包项目的ProductCode属性值 方法二 (推荐) 先生成安装包 记下ProductCode(选择解决方案资源管理器根目录如setup 再查看属性标签 不是右键中的属性) 下面要用到
用VS net建立一个新的控制台程序uninst exe文件 power by landlordh for xp Module uninstall Sub Main() Dim myProcess As Process = New Process If System Environment OSVersion ToString IndexOf( NT ) Then myProcess Start( msiexec /X{ B D A C AB B FB } ) 改为自己的ProductCode End If myProcess Close() End Sub End Module 将控制台程序BIN目录的exe文件加入到打包程序文件中 在程序组创建uninst exe的快捷方式附 installdb vb类 要添加引用 system configuration install dll Imports System ComponentModel Imports System Configuration Install Public Class Installer Inherits System Configuration Install Installer #Region 组件设计器生成的代码 Public Sub New() MyBase New() 该调用是组件设计器所必需的 InitializeComponent() 在 InitializeComponent() 调用之后添加任何初始化End Sub Installer 重写 dispose 以清理组件列表 Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (ponents Is Nothing) Then ponents Dispose() End If MyBase Dispose(disposing) End Sub 组件设计器所必需的Private ponents As System ComponentModel IContainer 注意 以下过程是组件设计器所必需的 可以使用组件设计器来修改此过程 不要使用代码编辑器来修改它 Private Sub InitializeComponent() ponents = New System ComponentModel Container End Sub #End Region Public Overrides Sub Install(ByVal stateSaver As System Collections IDictionary) MyBase Install(stateSaver) If Not InstallDB() Then 失败 反安装Me Uninstall(stateSaver) Exit Sub End If DeleteFile(String Format( { }DB dat Me Context Parameters Item( targetdir ))) End Sub Public Overrides Sub Uninstall(ByVal stateSaver As System Collections IDictionary)
lishixinzhi/Article/program/net/201311/15204
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)