您的位置:首页 > 其它

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

2008-02-22 17:46 916 查看
经常有人提问,说如何让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://files.cnblogs.com/winkingzhang/WindowsApplication1.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: