linux · 2022年 1月 10日 0

C#程序打包

使用Visual Studio Installer 2015打包

下载地址:Microsoft Visual Studio 2015 Installer Projects extension

下载完成后,直接运行安装即可。

1.创建打包项目

右键——>新建项目——>选择其他项目类型——>选择Visual Studio Installer – Setup Project

img

第一个文件夹包含打包程序的所有文件(dll,ico等)内容,相当于普通项目中的Debug文件夹。

第二个文件夹包含将要安装者桌面显示的内容。

第三个文件夹显示在安装者电脑的开始菜单中,一般包含删除卸载程序的文件。

2.配置程序信息

选中新建的Setup2程序,按F4打开属性窗口。

img

一般情况,修改Author、Description、Mnufcture、ProductName、Title属性即可,分别代表作者、程序安装时的描述、公司名、产品名、安装引导的标题。Mnufcture和Author将会显示控制面板查看程序时看到。

注意ProductCode属性,其值关系到卸载。

3.程序封装

右键Setup2项目,选择View——>文件系统

选择第一个文件夹,右键Add——>项目输出

img

选择你要打包的主程序项目,选择为主输出,点击确定。

注意这里添加后的文件并不全,可打开项目的Debug文件,对比一下,将缺少的其他文件或文件夹,图片等添加进来。当程序架构分层比较多时,比如界面模块和打包程序不一个项目,可以通过添加内容文件的方式添加进来。

4.联动用户桌面与开始菜单

找到主输出 Output(Active),右键创建快捷方式。

img

找到刚创建的快捷文件,右键重命名为程序名称,安装完成后,它将显示到你桌面上。

剪切此文件到文件系统第二个文件夹下

img

选择快捷方式,打开属性窗口,可添加描述等,修改Icon,选择一个ico图标,这个图标可以直接来自文件系统第一个文件夹下。

选择文件系统第三个文件夹,创建一个文件夹,名字为你的程序名就行。 并重复创建一个主输出的快捷方式,粘贴到文件夹下。

img

然后,比较重要的一步来了,添加删除文件。提供系统卸载程序的功能。

找到C:Windows\System32\Msiexec.exe这个文件,把他复制到第一个文件夹(应用程序文件夹)下,并修改名字为卸载程序.exe,

创建它的快捷方式,打开快捷方式的属性窗口,填加Arguments值

一定要按照这个格式来 ,先填入 /x,然后加一个空格,复制上文中要你留意的Setup项目的属性ProductCode参数值,填入空格后面。

img

剪切此快捷方式粘贴到文件系统的第三个文件夹(用户开始菜单文件夹),放入你创建的文件夹中。

此后在创建一份卸载程序的快捷方式,同样添加Arguments值,选择真正的卸载程序文件,打开属性窗口,修改Hidden值为True,让其隐藏。这样用户在打开程序文件夹时,才能真正卸载程序。

5.最后的配置

其实还可以修改很多东西,比如自定义用户引导界面了,只是感觉没太有必要,我一般不会去特别设置。

选择Setup项目右键——>View下的内容,都可以试着改一改,就不一一介绍了。

最后,右键Setup项目,选择属性,点击Prerequisites…,设置一个程序必备条件。

img
img

确定完成后,整个打包程序的配置就完成了,右键Setup项目,选择重新生成。

等待生成成功后,打开文件所在路径,找到Debug,生成两个文件,一个msi后缀,一个exe后缀,两者的区别就是msi文件安装后自动安装程序必备的.net框架。

项目信息

点击 【项目名称】->点击【属性】

重要属性
1.Author和Manufacturer,分别是作者和制造商的意思,一般都写公司名。
2.ProductName,软件名。默认是项目名,影响到安装界面和安装目录。务必改掉。
3.Version,版本号,影响安装流程,后面会说。
3.TargetPlatform,意思很明显。表现层面上就是,决定你的安装目录是在Program Files还是Program Files (x86),根据项目决定。
4.RemovePreviousVersion,是否移除之前的版本。务必改为True,不然你更新几次软件就会发现,电脑里多个版本都在安装着。

2.不重要的属性:
1.InstallAllUsers,用户权限默认值。这个在安装界面还可以重新设置。
2.ManufacturerUrl,公司官网。
3.SupportUrl、SupportPhone,技术支持的网址和电话。
4.Description,软件描述。
5.Title,无用。一开始我以为它是安装界面的标题,但其实并不是,这个值默认和项目名一致,但你修改之后,在哪里也都看不到。所以无用。

img

总结一下:
1.首先组件式开发需要打包所有Bin下面的文件
2.电脑要安装微软的VC++ rutime 2015,以及net framwork 4.0
3.如果还不能运行,就用depend.exe查看依赖

参考文献:流浪阿丁,特别感谢马黎莉老师的耐心指导!

隐藏定义的button空间

img

MessageBox.Show()有多行文本

文本框中用\r\n换行

img

C#编程中如何添加资源

找到项目下的Properties

打开如下界面

按照如上步骤就可以批量加载资源文件了。

参考文献:彤妞

多行与取消多行注释快捷键

注释: 先CTRL+K,然后CTRL+C

取消注释: 先CTRL+K,然后CTRL+U

窗体应用程序之新建窗体和添加窗体事件

1.新建窗体并打开窗体

  1. 在项目文件中添加新建项,选择Windows窗体,

参考文献:Thray.

C#显示行号

从一个项目中复制到另一个项目

一个窗体有三个文件,全部拷贝到新的项目中

在新的项目中点击显示所有文件,然后右击导入的文件,点击包括在项目中,会自动修改颜色(此时还没有被识别为窗体)

重启这个项目,三个文件已经被识别出来了

参考文献:gary_tao 做个有用的人

File targeting ‘AMD64’ is not compatible with the project’s target platform ‘x86’

按键F4,在弹出的工程属性栏中将TargetPlatform选项由x86改为x64即可。

参考文献:weixin_33860553

不显示输出窗口

工具-选项-项目与解决方案-常规-取消“在生成开始时显示输出窗口”的勾选

TOC