C# WinForm程序打包发布步骤详解

需积分: 50 9 下载量 195 浏览量 更新于2024-09-12 收藏 602KB DOC 举报
"本文介绍了如何使用Visual Studio为WinForm程序创建安装部署项目,包括添加项目、添加应用程序文件、设置快捷方式、配置安装路径以及确保.NET Framework的包含。此外,还提及了如何添加卸载功能,利用msiexec.exe实现卸载程序。" 在开发完WinForm应用程序后,为了让用户能够方便地安装和使用,需要将其打包成安装程序。以下是详细的步骤: 1. **新建安装部署项目**: 在Visual Studio中,选择“新建项目”,然后在“其他项目类型”下找到“安装与部署”类别,选择“安装向导”或“安装项目”。点击“确定”以创建新项目。 2. **安装向导**: 完成项目创建后,通过安装向导进行基本配置,可以选择直接点击“下一步”或“完成”。 3. **添加应用程序文件**: 双击项目中的“应用程序文件夹”,在右侧空白区域右键点击,选择“添加”>“文件”,将你的WinForm应用程序的可执行文件(.exe)以及所有依赖的类库和组件添加进来。 4. **创建快捷方式**: 右键点击可执行文件,选择“创建快捷方式”,然后将快捷方式拖动到左侧的“用户的程序菜单”和“用户桌面”,这样用户安装后可以在“开始”菜单和桌面上找到程序的快捷方式。 5. **配置安装路径**: 右键点击“应用程序文件夹”,打开属性对话框,修改“defaultlocation”的路径,去除"[manufacturer]",以免安装在默认的制造商目录下。 6. **设置系统必备**: 在解决方案管理器中,右键点击解决方案名称,选择“属性”。在打开的属性页中,选择“系统必备”,确保已选中.NET Framework组件,以便安装程序包含此组件,使得没有.NET Framework的计算机也能安装。 7. **生成安装文件**: 完成上述设置后,点击“生成”>“生成解决方案”,生成的安装文件将会出现在解决方案文件夹下的“Debug”文件夹中。 8. **添加卸载功能**: 默认情况下,Visual Studio 2005不会自动生成卸载程序。要实现卸载功能,可以将`msiexec.exe`(位于`c:\windows\system32`)添加到项目中,并将其重命名为“Uninstall.exe”。创建一个快捷方式,放置在“开始”菜单或桌面,供用户卸载程序时使用。需要找到部署项目的Product ID,以便正确执行卸载命令。 通过以上步骤,你就成功地为你的WinForm程序创建了一个包含安装和卸载功能的完整包。确保在打包过程中考虑到所有必要的文件和配置,以提供一个流畅的用户体验。在发布前,最好进行测试,确保安装和卸载过程无误。
2019-03-21 上传
完整的服务端及客户端调用程序,在win7+ vs2015环境运行通过. 一、说明 1、创建winfrom应用程序;(或者是控制台项目) 2、在项目中添加一个WCF服务,并实现服务; 3、在需要启动WebService服务的地方启动该服务即可; 二、代码如下: 1、新建一个WCF服务——定义服务接口    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]     public interface ICalculator     {         [OperationContract]         double Add(double n1, double n2);     } 2、新建一个WCF服务——实现服务 public class CalculatorService : ICalculator     {         public double Add(double n1, double n2)         {             return n1 + n2;         }     } 3、添加完WcF服务后会在应用程序配置文件中有入下节点                             <!--TestServer.ICalculator服务定义的接口,根据自己定义进行修改-->                                                                   <baseAddresses> <!--这个是要发布的服务地址,可以进行修改-->                                   </baseAddresses>                   4、在要启动服务的地方启动服务监听   public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { try { //打开服务创建监听,并开始监听消息 ServiceHost serviceHost = new ServiceHost(typeof(Service1));//需要using System.ServiceModel; serviceHost.Open(); label1.Text = "服务启动正常"; } catch (Exception ex) { label1.Text = ex.Message; } } 5、下面可以在客户端通过上面的服务地址”http://xxx.xxx.xxx.xx:8733/test/Service1/“对服务进行调用 到这步就实现在控制台中实现webService的发布。