导航

C#.Net实现应用程序卸载(制作)

Posted on 2008-12-19 11:05  ccjvl  阅读(386)  评论(0编辑  收藏  举报

 

Posted on 2007-11-06 10:48 sunrack 阅读(678) 评论(1)  编辑 收藏 网摘 所属分类: DotNet

在vs.net2005下并没有直接生成卸载程序的功能

在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,
这个文件在c:\windows\system32文件夹下,

添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",

当然这个关系不大,改不改都行的.
然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,
我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,
这个区别很大,这时你就可以看到ProductCode了,

然后打开你创建的那个快捷方式的属性对话框,
在Aguements属性中输入"/x {ProductCode}",

好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了.

 

 

 

 

C#.Net实现应用程序卸载(制作)

  方法一:

  在打包项目中添加文件msiexec.exe(一般在c:windowssystem32(系统目录中)找到)。

  在文件系统视图中选择应用程序文件,在msiexec.exe上单击右键选择“创建快捷方式”,重命名快捷方式为“uninst”.

  更改此快捷方式Argmuments为“/x {产品ID}”,产品ID的值为打包项目的ProductCode属性值。

  方法二:

  先生成安装包,记下ProudctCode(选择解决方案资源管理根目录如Setup1,再查看属性标签,不是右键属性),下面用到

  用Vs.Net 建立一个新的控制台程序uninst.exe文件。

  代码如下:

usingSystem;
namespaceuninst
{
  ///<summary>
  ///Class1的摘要说明
  ///</summary>
  classUnInstall
  {
    ///<summary>
    ///应用程序的主入口点。
    ///</summary>
    [STAThread]
    staticvoidMain(string[]args)
    {
       stringsysroot=System.Environment.SystemDirectory;
       System.Diagnostics.Process.Start(sysroot+"msiexec.exe","/x{850FED90-20D0-4EBA-BEDB-3D9DBA25F6EC}/qr");
    }
  }
}

  编译过后,将生成的uninst.exe文件添加到安装包中,重新生成安装项目。