Visual studio 2023下使用 installer projects 打包C#程序并创建 CustomAction 类

Visual studio 2023下使用 installer projects 打包C#程序并创建 CustomAction 类

  • 1 安装Visual studio 20203,并安装插件
    • 1.1 下载并安装 Visual Studio
    • 1.2 步骤二:安装 installer projects 扩展插件
  • 2 创建安装项目
    • 2.1 创建Windows安装项目
    • 2.2 新建应用程序安装文件夹
    • 2.3 添加内容文件
    • 2.4 添加项目输出
    • 2.5 添加快捷方式
    • 2.6 设置系统必备属性
    • 2.7 设置安装程序的属性
    • 2.8 自定义安装界面
    • 2.9 自定义安装行为
  • 3 创建 CustomAction 类
    • 3.1 创建 c# 类库
    • 3.2 添加安装类
    • 3.3 重写基类Installer的函数
    • 3.4 增加项目输出
  • 4 创建Customs Action
    • 4.1 切换到TestSetup工程的Customs Actions视图
    • 4.2 在 Install 和 Commit 文件夹上单击右键,选择 添加自定义操作。
    • 4.3 选中已增加的TestCustomAction项目的主输出(对应TestCustomAction工程的.dll文件)。
    • 4.4 选中CustomAction文件,我们通过设置CustomActionData属性来获取 文本框(A) 中的参数。
    • 4.5 自定义安装类里获取输入值
    • 4.6 获取安装路径
  • 5 实现卸载
    • 5.1 添加 卸载 文件

1 安装Visual studio 20203,并安装插件

1.1 下载并安装 Visual Studio

从Visual Studio 官方网站的下载想安装版本的在线安装程序,运行后在线安装
官方网站:https://visualstudio.microsoft.com/zh-hans/downloads/
在这里插入图片描述

1.2 步骤二:安装 installer projects 扩展插件

  • 打开Visual Studio 2023,选择 “扩展->管理扩展(…)”,在出现的扩展管理器中输入"installer projects",找到微软的安装工程扩展插件,点击右边的"安装"按钮进行安装。
    在这里插入图片描述
    我这已经安装过了,下面图是修复安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2 创建安装项目

2.1 创建Windows安装项目

  • 新建项目,打开想打包程序集的解决方案,选中解决方案->右键->添加->新建项目,选择Setup Projectt类型:
    在这里插入图片描述

  • 配置新项目
    输入项目名称,使用缺省的位置。
    在这里插入图片描述

  • 点击创建,完成后显示安装工程的文件系统
    在这里插入图片描述
    我们来了解下左边文件系统窗口的三个文件夹:

  • Application Folder:应用程序包含的文件设置,是安装程序在客户电脑上的安装根目录。你编写的程序生成的dll、exe,安装后可以存放在这个目录。

  • User’s Desktop:用户桌面快捷方式设置,用户桌面,一般放置快捷图标。

  • User’s Programs Menu:用户启动菜单的快捷方式设置,一般也是放快捷图标。

2.2 新建应用程序安装文件夹

如果有需要,我们可以为图片之类的文件在安装根目录下创建对应的目录来存放。注意:名称不能包含中文或者特殊字符
在这里插入图片描述
在这里插入图片描述

2.3 添加内容文件

将需要打包的文件(DLL,配置文件,图标文件等,所有文件都要添加)
在这里插入图片描述

2.4 添加项目输出

  • 添加项目输出的可执行目标文件,在 Application Folder 上点击右键,选择"Add->项目输入(P…)"

在这里插入图片描述

  • 在添加项目输出组对话框中选择对应的项目,按住Ctrl键选中"主输出"和"内容文件",点击"确定"完成。这样就把需要安装程序的编译后主要文件都添加进来了,当然也可以手动添加进来。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

A Threat Actors 出售 18 万名 Shopify 用户信息

BreachForums 论坛成员最近发布了涉及 Shopify 的重大数据泄露事件。 据报道,属于近 180,000 名用户的敏感数据遭到泄露。 Shopify Inc. 是一家总部位于安大略省渥太华的加拿大公司。 开发和营销同名电子商务平台、Shopify POS 销售点系统以及专用于企业的营销工…

SQL脚本初始化数据

创建或选择某个数据库,运行窗口输入:source,再拖入文件,回车即可; 虽然也可以使用图形化工具初始化数据,但是他会有内存限制,也就是较大的sql文件不可以初始化,而运行窗口没有sql文件大小限制&…

本周23个Github有趣项目llama-agents等

23个Github有趣的项目、工具和库 1、Positron 下一代数据科学 IDE。 您使用 VS Code 进行数据科学(Python 或 R),但希望它包含专用控制台、变量窗格、数据浏览器和其他用于特定数据工作的功能。您使用 Jupyterlab 进行数据科学(…

python读取csv出错怎么解决

Python用pandas的read_csv函数读取csv文件。 首先,导入pandas包后,直接用read_csv函数读取报错OSError,如下: 解决方案是加上参数:enginepython。 运行之后没有报错,正在我欣喜之余,输出一下d…

centos7部署mysql8.0

1.安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。查看是否安装mariadb rpm -qa | grep mariadb 2. 卸载mariadb rpm -e --nodeps 查看到的文件名 3.下载MySQL安装包 MySQL官网下载地址: MySQL :: Download MySQL Community Serverhttps://dev.mys…

19.JWT

1►JWT博客推荐 阮老师讲得很好了,网址如下: http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html 2►ry是怎么践行JWT的呢? 问题一:不登录的时候有token吗? 答:没有,所…

blender 纹理绘制-贴花方式

贴画绘制-1分钟blender_哔哩哔哩_bilibili小鸡老师的【Blender风格化角色入门教程】偏重雕刻建模https://www.cctalk.com/m/group/90420100小鸡老师最新的【风格化角色全流程进阶教程】偏重绑定。早鸟价进行中!欢迎试听https://www.cctalk.com/m/group/90698829, 视…

Splunk Enterprise 中的严重漏洞允许远程执行代码

Splunk 是搜索、监控和分析机器生成大数据的软件领先提供商,为其旗舰产品 Splunk Enterprise 发布了紧急安全更新。 这些更新解决了几个构成重大安全风险的关键漏洞,包括远程代码执行 (RCE) 的可能性。 受影响的版本包括 * 9.0.x、9.1.x 和 9.2.x&…

ARM架构和Intel x86架构

文章目录 1. 处理器架构 2. ARM架构 3. Intel x86架构 4. 架构对比 1. 处理器架构 处理器架构是指计算机处理器的设计和组织方式,它决定了处理器的性能、功耗和功能特性。处理器架构影响着从计算机系统的硬件设计到软件开发的各个方面。在现代计算技术中&#…

计算机组成原理学习笔记(一)

计算机组成原理 [类型:: [[计算机基础课程]] ] [来源:: [[B站]] ] [主讲人:: [[咸鱼学长]] ] [评价:: ] [知识点:: [[系统软件]] & [[应用软件]] ] [简单解释:: 管理计算机系统的软件; 按照任务需要编写的程序 ] [问题:: ] [知识点:: [[机器字长]] ] [简单…

绝区壹--LLM的构建模块

前言 语言是人类交流的本质,大型语言模型 (LLM) 凭借其出色的理解和生成类似人类的文本的能力,彻底改变了我们与语言互动和利用语言的方式。深入研究 LLM 的构建块(向量、标记和嵌入),揭示了使这些模型能够以前所未有…

辣子简报芬芳喜事特辑

【辣子简报芬芳喜事特辑】🎉在这个季节的尾声,当一缕阳光温柔地洒在打包好的行囊上,我们不约而同地停下了忙碌的脚步,回望那段共同编织的璀璨时光——79天的并肩作战,如同一段精彩绝伦的旅程,如今已缓缓驶向…

3D地图是智慧城市可视化项目绕不开的技术!来我帮你解决

**3D地图:智慧城市可视化项目绕不开的技术!来我帮你解决** 智慧城市已成为未来城市发展的必然趋势。而3D地图作为智慧城市可视化项目的核心技术之一,其重要性不言而喻。本文将深入探讨3D地图在智慧城市建设中的应用及其优势,为您…

2-5 softmax 回归的简洁实现

我们发现通过深度学习框架的高级API能够使实现线性回归变得更加容易。 同样,通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节如在上节中一样, 继续使用Fashion-MNIST数据集,并保持批量大小为256。 import torch from torc…

黑马的ES课程中的不足

在我自己做项目使用ES的时候,发现了黑马没教的方法,以及一些它项目的小问题 搜索时的匹配方法 这个boolQuery().should 我的项目是通过文章的标题title和内容content来进行搜索 但是黑马它的项目只用了must 如果我们的title和content都用must&#x…

Apache Seata新特性支持 -- undo_log压缩

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 Apache Seata新特性支持 – undo_log压缩 Seata新特性支持 – undo_log压缩 现状 & 痛点…

【IT领域新生必看】 Java编程中的重写(Overriding)规则:初学者轻松掌握的全方位指南

文章目录 引言什么是方法重写(Overriding)?方法重写的基本示例 方法重写的规则1. 方法签名必须相同示例: 2. 返回类型可以是子类型(协变返回类型)示例: 3. 访问修饰符不能比父类的更严格示例&am…

WordPress子比主题美化文章顶部添加百度收录按钮

要在WordPress子主题中美化文章顶部并添加百度收录按钮,你可以按照以下步骤操作: 首先,确保你的主题支持自定义CSS。如果不支持,你需要在主题目录下创建一个名为style.css的文件,并将以下代码复制到该文件中。如果你的…

全网最详细的appium 自动化测试iOS(二)

一、环境准备: 1、安装appium 2、xcode (appium 版本:12.1.0 xcode版本:12.5 可正常运行,ps:appium 版本:12.1.0 xcode版本:13.0 一直报奇奇怪怪的错误) 3、依赖工具包安装 brew install…

VSCode设置字体大小

方法1:Ctrl 和 Ctrl -,可以控制整个VSCode界面的整体缩放,但是不会调整字体大小 方法2:该方法只能设置编辑器界面的字号,无法改变窗口界面的字号。 (1)点开左下角如下图标,进入…