例如:
拷贝生成的文件到特定的目录。
部署程序到测试目录或者环境,例如注册到windows服务,更新GAC等。
根据编译环境生成特定的配置文件(例如web.config) PS: 身在一个复杂环境, 这是我最想要的功能。
自动执行外部exe。
同步DLL和其他资源文件。
1.最简单的自然是用Visual Studio自带的编译事件,这东西使用方便,又是Visual Studio自带的功能,就是功能弱了一点(好吧 其实是很弱)
将项目生成的DLL文件拷贝到特定目录,(如果你想拷贝一整个文件夹 用xcopy; 当然,熟悉命令行的人可以弄出更多的玩法)
如下图所示
2.另外一种比较推荐的方式是自定义编译扩展(可以执行C#代码...功能强大多了), 看下面这个项目文件的最后几句 (项目文件就是 项目名.csproj)
这几句话的意思是
1. 包含一个task文件 (该文件包含了ConfigurationEnvironmentTask 的定义,这是一个自定开发的类,其主要作用是根据环境生成web.config文件)
2.输出一行提示信息 Start Automatic..... (该信息将显示在Output Window)
3. 调用ConfigurationEnvironmentTask 并传入一些参数(TemplateFile 等都是自己定义的参数)
Build.tasks的文件内容其实很简单,主要就是说明了这个task定义在哪里 (Build.dll)
打开visual studio 2010,点击菜单栏-->文件-->新建-->项目,打开新建项目对话框
选择其他项目类型-->安装和部署,选择一个,然后选择安装项目,自己起个安装包名称,并指定安装包存放路径
进入打包程序制作界面,点击应用程序文件夹,在右边空白处右键添加文件,找到你项目生成的release文件夹下的文件,并导入你所需要打包的文件
项目快捷方式的创建,在导入的文件中,右键点击可执行文件,添加快捷方式,然后把该快捷方式分别复制到 用户的“程序”菜单 和用户桌面 文件下,如图所示
顺便给快捷方式添加图标,右击放添加的快捷方式-->属性窗口找到icon点击添加图标
以上添加好后,在“解决方案管理器"中解决方案名称(本程序是setup1)上右击打开属性窗口,找到系统必备,点进去,选择需要的.net框架版本,我这里是3.5的,另把组件安装位置,可以根据需要选择相应的,我这里选择从应用程序相同位置下载系统必备组件,添加完后仍在"解决方案管理器"中解决方案名称(本程序是setup1)上右击视图-->启动条件,选择好相应.net版本
为程序添加卸载功能,我是在c:/windows/system32文件夹下,把msiexec.exe拷贝过来导入“应用程序文件夹”并重新命名为unstall.exe并创建快捷方式放入,用户的“程序”菜单文件夹下,单机项目名称-->右边属性找到productcode项,复制productcode里内容,然后打开你创建的程序里的卸载快捷方式的属性对话框,找到arguments输入“/x刚复制的productcode内容”保存
7
检查要打包的文件是否都添加完成,确认无误后,点击setup1右键生成解决方案,找到一开始设置的打包文件存放位置setup1.msi即生成的打包程序,双击即可安装,至此打包程序已经制作完成