读书人

[玩一玩]给vs安装项目添加卸载快捷方式

发布时间: 2012-09-18 16:21:42 作者: rapoo

[玩一玩]给vs安装项目添加卸载快捷方式
我的编译器是vs2010

按惯例先AD下搜索易:http://www.370b.com/ ,以下方法来自搜索易的安装项目源码

1.新建项目(控制台应用程序,NET版本同你的主程序相同)

2.右击项目》属性》应用程序》应用程序类型》更改为windows窗体应用程序(这么做的目的是为了在运行项目程序时不弹出cmd窗口)

3.修改main函数 如下面所示:
VB.NET

VB.NET code
Imports System.Text.RegularExpressionsModule Module1    Sub Main(args() As String)        Try            If args.Length = 2 AndAlso args(0) = "-uninstalled" Then                '{5E705D88-92D1-4C0C-ADEF-836F41429E7A}                If Regex.IsMatch(args(1), "^\{[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}\}$", RegexOptions.IgnoreCase) Then                    Using Process.Start(System.Environment.SystemDirectory & "\msiexec.exe", "/x """ & args(1) & """")                    End Using                End If            End If        Catch ex As Exception        End Try        Environment.Exit(0)    End SubEnd Module


C#
C# code
using Microsoft.VisualBasic;using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Diagnostics;using System.Text.RegularExpressions;static class Module1{    public static void Main(string[] args)    {        try {            if (args.Length == 2 && args[0] == "-uninstalled") {                //{5E705D88-92D1-4C0C-ADEF-836F41429E7A}                if (Regex.IsMatch(args[1], "^\\{[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}\\}$", RegexOptions.IgnoreCase)) {                    using (Process.Start(System.Environment.SystemDirectory + "\\msiexec.exe", "/x \"" + args[1] + "\"")) {                    }                }            }        } catch (Exception ex) {        }        Environment.Exit(0);    }}


4.生成项目(假设生成的项目文件为Uninstalled.exe

5.在你的vs安装项目中》文件系统?应用程序文件夹》添加文件》添加Uninstalled.exe , 如下图所示


6.右击Uninstalled.exe 》 创建快捷方式》右击新建的快捷方式》属性》将Arguments值更改为 "-uninstalled" "[ProductCode]" ,其他内容自己设置

如果你还想在程序菜单添加卸载的快捷方式,如上创建快捷方式,指向Uninstalled.exe

7.重新生成vs安装项目,安装试试吧。


[解决办法]
一天就知道鼓捣VS.

批评你了
[解决办法]
感谢分享
[解决办法]
感谢楼主分享呀~
[解决办法]
楼主好人啊~么么么,你懂的
[解决办法]

谢谢分享

[解决办法]

谢谢分享


[解决办法]
还有这高级玩意?学习了...
[解决办法]
安装项目不提供卸载还是不提供卸载的快捷方式?



[解决办法]
感谢分享
[解决办法]
谢谢你的东西
[解决办法]
谢谢分享
[解决办法]
谢谢你的东西
------解决方案--------------------


好东西。感谢加接分
[解决办法]
学习了,感谢楼主。
[解决办法]
这个不难啊!
我觉得楼主要是能够把SQL Server的配置添加到程序的部署中去会更受大家欢迎的!
彻底解决VS应用程序对数据库环境的要求!
[解决办法]
呵呵,好东西
[解决办法]
楼主辛苦,在下学习了
[解决办法]
不错不错,辛苦了
[解决办法]
vs的打包不怎么好用,添加卸载费事,添加快捷方式也费事,还不能在安装的时候自定义需要哪个快捷方式
[解决办法]
看来不错
[解决办法]
无私的奉献呀
[解决办法]
好东西。感谢加接分
[解决办法]
不错.
[解决办法]
感谢楼主分享
[解决办法]
feichangbucuo
[解决办法]
感谢楼主的分享
[解决办法]
不错不错
[解决办法]
学习一下,这么麻烦啊
[解决办法]
编译器是vs2010
[解决办法]
感谢楼主分享
[解决办法]
这个真的不错,谢谢分享
[解决办法]
开机键
[解决办法]
我没有2010
[解决办法]
感谢楼主分享!
[解决办法]
不错,值得学习
[解决办法]
辛苦楼主,学习学习
[解决办法]
辛苦楼主,学习学习

[解决办法]
辛苦楼主,学习学习
[解决办法]
学习了,谢谢
[解决办法]
不错不错,辛苦了
[解决办法]
思路不错。
[解决办法]
以前只安装uninstall.exe,现在还有个快捷方式。有意思,谢谢分享。
[解决办法]
好东西,收藏了!!
[解决办法]
安装项目不提供卸载还是不提供卸载的快捷方式?


回答:都有的
[解决办法]
不错。
[解决办法]
不明白为什么要安装包?

直接绿色格式执行,不是更简单?

如果只是想创建快捷方式,
在启动的时候询问一下,
是否要创建快捷方式就ok了啊
------解决方案--------------------


不错,又提供了一种卸载程序的的方法哦
[解决办法]
不错 受留下来
[解决办法]
感谢分享

[解决办法]
vs自带的打包工具有个弊端,不能打包涵盖中文名称的东西,不知道2010上有没有修复这个问题
[解决办法]
欧 学习下-0-
[解决办法]
学习一下
[解决办法]
弱弱的问一下楼主,这个有啥用
[解决办法]
感谢楼主分享呀~
[解决办法]
正则表达式匹配啊
[解决办法]
学习了,谢谢!
[解决办法]
感谢分享...
[解决办法]
学习了,谢谢
[解决办法]
学习学习,谢谢楼主分享
[解决办法]
学习学习啊,楼主分项的太好了啊
[解决办法]
谢谢分享
[解决办法]
谢谢分享

[解决办法]
谢谢分享
[解决办法]
却是不错,避免了移除时的不彻底性
[解决办法]
顶!我昨天要添加系统自带的安装文件失败了,说什么受保护
[解决办法]
感谢楼主分享!
[解决办法]
感谢楼主分享

读书人网 >C#

热点推荐