C#打包应用程序,与.NETFramework介绍
发布时间:2022-03-29 15:29:20
1, 新建一个项目, 类型为 安装和部署 中的安装项目或安装向导
2,双击应用程序文件夹,添加所有需要的文件(包括图标,Access,图片和dll等),特别是要打包的编写的应用程序生成文件,在bin/debug 文件夹中的exe文件。其图标在此编程项目中的 项目属性 生成中设置,同时最好重命名,因为在包含进去之后无法重命名,这样在 目标pc 上安装时就为包含进去时的名字和图标。
3,为 应用程序exe 在 桌面菜单 和 用户管理菜单(即“开始”,最好为文件夹,还要添加 卸载exe快捷方式)添加 exe快捷方式,并 左键点击 在出现的属性(右边侧栏)中设置其 icon。
4, 添加 卸载exe : 从c:windows/system32 中添加 msiexec.exe 并重命名为 uninstall.exe 然后创建快捷方式, 左键 单击项目,在左侧边栏出现的属性页中找到 product code, 复制到uninstall快捷方式的arguments 并在前面加 /x . 即为/x product code. 带{}
5, 右键单击项目,选择属性, 可以在出现的对话框中 重命名将要生成的exe 文件。 单击 系统必备, 其中要选择所需要的 组件, 要包括.net framework 3.5。 选择下面的 与我的应用程序相同的位置, 这样就会从 这个路径安装 系统必备组件。(未完,下面详述如何添加.net 3.5)
6, 右键 项目, 视图》用户界面, 将出现安装时的界面对话框, 可以新建新对话框, 也可以在安装对话框的顶部添加图片, 通过设置 bannerbitmap 来实现。 注意 项目的名称也会出现在安装对话框中, 所以最好将项目名称命名好(左键单击项目,在属性中更改 product name 和 Title)。
7, 左键 应用程序文件夹, DefaultLocation 选项为安装程序路径设置。 默认设置为 C:Program Files/ [manufacturer]/ 应用程序名称
下面重点介绍打包包括 .net framework
1, 打包的为 .net 3.5 离线版。 首先下载完整版, 231mb 解压后, 将下载的 3.5 x86(32位机)中文语言包copy到 解压后文件夹dotNetFX35\x86文件夹中, 此时 单击dotNetFx35setup.exe 就可以安装离线版。
2, 将dotNetFx35setup.exe 添加到 项目中去, 只包含此单一exe(2.3m)即可, 在生成后会包含所有的 .net 组件(231m)。 右键 项目——属性——系统必备,选中net35 并将下方选为 与安装程序一同本地下载; 即中间的那个。
3, 右键项目 》视图》 启动条件, 单击 .net framework, 将其installurl 改为dotNetFx35setup.exe即可(只要与安装文件路径一致即可),原来为 微软官方下载。
4, 单击生成 即可。
自己编写的应用程序打包后只有2,3m, 可是加上.net 平台就 250m 左右啦。


猜你喜欢
- 开始我用List<泛型>接受json串,如下,结果list内并非泛型对象,而是JSONObject对象。这样在遍历的时候就报了转
- 前言一般情况下,当我们使用 SpringDataElasticsearch 去操作 ES 时,索引名
- 中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等
- 算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小。本文即以实例
- Java常用类String类概述String类:代表字符串。Java程序中的所有字符串字面值(如:”abc“)都作为子类的实例实现Strin
- 介绍Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式
- 前言我们之前讲述的动画都需要主动触发或者是重复执行,那有没有自己触发动画的组件呢?这样我们就可以在 StatelessWidget 里直接使
- ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列
- 本文以实例形式讲述了C语言实现二叉树的非递归遍历方法。是数据结构与算法设计中常用的技巧。分享给大家供大家参考。具体方法如下:先序遍历:voi
- 某天一朋友突然发来一个地址,问我怎么获取这张图片的后缀名??将代码放在下面以供参考:using System;using System.Dr
- C#事件sender的小用法开WPF新坑了,看了WPF的炫酷界面,再看看winForm实在是有些惨不忍睹(逃)。后面会开始写一些短的学习笔记
- Java * 分析及理解代理设计模式定义:为其他对象提供一种代理以控制对这个对象的访问。 * 使用java * 机制以巧妙的方式实现了
- 核心思想:“分”与“合”。主体流程先将一个序列分成很多个不能再分割的子序列,将各个子序列分别排序后再将子序列合并。其实就是重复两个步骤:【1
- 介绍超级管理员:系统管理、用户管理、网点管理、运输点管理、快递员管理、网点申请管理(审核)、报价管理(时效报价)等。普通用户:注册登录、个人
- 一般情况下SpringBoot以Jar包的形式进行打包打包 - jar包方式1、pom文件引入插件 <build> <pl
- 对于yield关键字我们首先看一下msdn的解释:如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法、运算符或 get 访问
- 本篇文章尝试从What、Why、How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义、基本使用场景和使用方法。由于个
- 判断某字符串是否为空,为空的标准是str==null或str.length()==01.下面是StringUtils判断是否为空的示例:St
- 目录1、Java内存模型2、硬件内存架构3、实际执行3.1 共享对象可见性3.2 竞争条件Java是一门支持多线程执行的语言,要编写正确的并
- 1.背景倒计时的效果在网站或其他平台看到的很多了吧,今天就让我们来看看在OpenHarmony中如何实现它吧!2.效果预览视频效果演示传送门