dotnet程序安装包添加卸载快捷方式
2013-01-23 11:04
489 查看
在做了安装程序后,必然需要一个卸载的快捷方式。
有两种实现方式,主要都是利用Msiexec命令。
一种是把msiexec.exe文件打包到安装目录中,给它传递产品编号就可以。
![](http://img.my.csdn.net/uploads/201301/22/1358846512_3052.png)
另一种通过程序调用msiexec传递产品编号。
卸载其实就是调用Msiexec命令,实现一个小程序。主要代码如下:
还有一个小问题就是在windows 7系统上快捷方式由于权限问题,导致不能卸载,如果点击程序以管理员身份运行则可以正常卸载。否则弹出msiexec帮助的对话框,给人的感觉好像命令参数有错误一样,具体的弹出框如下:
![](http://img.my.csdn.net/uploads/201301/22/1358849115_9867.png)
产品编号,产品升级的编号,windows系统判断是不是同一个产品的标准就是判断这两个编号是不是都不相同。
有两种实现方式,主要都是利用Msiexec命令。
一种是把msiexec.exe文件打包到安装目录中,给它传递产品编号就可以。
![](http://img.my.csdn.net/uploads/201301/22/1358846512_3052.png)
另一种通过程序调用msiexec传递产品编号。
卸载其实就是调用Msiexec命令,实现一个小程序。主要代码如下:
static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> static void Main(string[] argc) { Process mysqlre = new Process(); mysqlre.StartInfo.UseShellExecute = false; mysqlre.StartInfo.RedirectStandardInput = true; mysqlre.StartInfo.RedirectStandardOutput = true; mysqlre.StartInfo.RedirectStandardError = true; mysqlre.StartInfo.CreateNoWindow = true; mysqlre.StartInfo.FileName = @"msiexec.exe"; mysqlre.StartInfo.Arguments = " /x{2091B570-AD86-4C20-9E21-912F77EFFCBD}";//产品代码 mysqlre.Start(); // string err = mysqlre.StandardError.ReadToEnd(); mysqlre.WaitForExit(5000); // err = mysqlre.StandardOutput.ReadToEnd(); } }需要注意的是需要新建一个windows窗体应用程序,把文件Program.cs留下,其他的都删除。如果新建一个控制台程序,则卸载时会出现令人讨厌的黑框,就如同运行cmd命令一样。至于为什么使用windows窗体应用程序不在出现,具体原因目前不知道。
还有一个小问题就是在windows 7系统上快捷方式由于权限问题,导致不能卸载,如果点击程序以管理员身份运行则可以正常卸载。否则弹出msiexec帮助的对话框,给人的感觉好像命令参数有错误一样,具体的弹出框如下:
![](http://img.my.csdn.net/uploads/201301/22/1358849115_9867.png)
产品编号,产品升级的编号,windows系统判断是不是同一个产品的标准就是判断这两个编号是不是都不相同。
![](http://img.my.csdn.net/uploads/201301/22/1358846207_9633.png)
相关文章推荐
- winform中为安装程序添加卸载的快捷方式
- winform中为安装程序添加卸载的快捷方式
- winform中为安装程序添加卸载的快捷方式
- InstallShield 为卸载程序添加快捷方式
- .net 程序安装包卸载快捷方式
- 给vs安装项目添加卸载快捷方式
- .Net程序打包安装与卸载制作 ——怎样创建网页快捷方式(“开始与程序”菜单中)?(七)
- install4j打包安装程序时添加桌面快捷方式
- InstallShield错误:由于添加自动卸载的快捷方式使得无法正确安装和卸载的问题
- 【转】添加ClickOnce程序的快捷方式 ,自动运行
- WIN7开始菜单添加程序快捷方式
- Windows安装项目卸载快捷方式
- Android 为程序添加桌面快捷方式
- InstallShield中添加一个卸载快捷方式或设置反卸载 - DISK1TARGET
- 用C#打包应用程序(安装程序)【卸载模块已添加】
- 快捷方式连同程序一起卸载
- Win7旗舰版系统任务栏无法程序锁定不能添加快捷方式图标
- 如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)
- InstallShield学习笔记(3)-建立卸载程序的快捷方式
- net自定义安装程序快捷方式