[安装部署]如何让用户自己选择是否在桌面创建快捷方式

经常有人提问,说如何让Visual Studio自带的安装项目支持 让用户自己选择是否在桌面创建快捷方式,以前我的回答是编写VC++ Custom Wizard(VC自定义向导),配合安装项目来实现这个Feature。但是实现复杂,我不推荐这么做,最好去说服客户,让他们放弃这个想法。现在,经过仔细阅读MSDN关于安装项目的说明,我找到了一个简单的实现方法。
为了讲解,我创建了一个Solution,里面有一个WindowsApplication项目,两个ClassLibrary项目,一个Setup项目。

既然要求让用户自己选择 是否在桌面创建快捷方式,首要的点是为安装项目添加用户自定义选择的对话框(由于这里重点不是简介安装项目,所以一些操作会简单略过,当然重点都会列出,并贴图示例),打开用户界面编辑器(User Interface),添加一个复选框用户界面对话框,并设置条件。

然后,和正常安装项目一样,在Application Folder添加要安装的文件和输出,随后再次添加你想要为其定制快捷方式的输出(为了方便描述,称这个输出为 条件输出),并设置它的条件为CHECKBOXA1=1(表示选中CheckBox1是该文件会拷贝,否则不会拷贝,这里示例的是WindowApplication.exe文件,它是WindowApplication1项目的主要输出文件)。

下面就简单了,在桌面目录创建一个快捷方式,设置目标为上面的 条件输出,即条件为CHECKBOXA1=1的主工程输出。然后编译,测试。
下面是我的Demo测试结果,如果选中复选框,最终会在桌面创建windowapplication1的快捷方式,否则不创建:


OK,到此我通过使用条件输出的方法成功 让用户自己选择是否在桌面创建快捷方式了,当然这个方案并非完美,它会很大幅度增加生成的msi文件的大小。

附,你可以从这里下载本文涉及的工程和代码:
http://www.cnblogs.com/Files/winkingzhang/WindowsApplication1.rar

转载于:https://www.cnblogs.com/winkingzhang/archive/2008/02/22/1078015.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值