• 【154】C#打包程序成安装包


    参考0:用C#写完程序怎么用C#打包成安装程序setup自己做的图文说明示例

    参考1:解决“默认公司名称”
      C#打包应用安装后,显示“默认公司名称”,想问问通过哪里可以修改???

    参考2:解决“添加卸载程序” & “ProductCode”
      C#打包时如何添加卸载程序????
      C#软件winform程序安装包制作及卸载程序制作

    参考3:应将“<filename>”排除,原因是其源文件受到 Windows 文件保护

    1、点击 文件》新建》项目。

    clip_image002

    2、在新建项目中选择 其他项目类型》安装和部署》Visual Studio Installer》安装向导。

    注意:此处填写的名称将作为安装的目录名称以及程序的名称。(一般推荐用英文)

    clip_image003

    3、进入安装向导,直接点击“下一步”即可。

    clip_image005

    4、默认,直接点击“下一步”即可。

    clip_image007

    5、继续点击“下一步”即可。

    clip_image009

    6、点击“完成”即可

    clip_image011

    7、点击“完成”后显示如下的对话框,需要将Debug文件夹中的文件及文件夹都全部复制到“应用程序文件夹”中,然后可以将想要在“用户桌面”和“用户的‘程序’菜单”中显示的内容复制到相应的文件夹中。

    注意:为了显示成开始菜单文件夹的形式,需要在《用户的“程序”菜单》里面建立一个文件夹,然后将程序和卸载的快捷方式复制进去。

    添加卸载程序方法

    • 在打包项目中添加文件msiexec.exe(一般在c:windowssystem32(系统目录中)找到)。在文件系统视图中选择应用程序文件,在msiexec.exe上单击右键选择“创建快捷方式”,重命名快捷方式为“uninst”或者“卸载 XXX程序”.更改此快捷方式Argmuments为“/x {产品ID}”,产品ID的值为打包项目的ProductCode属性值。需要将*.dll的Exclude改为True。
    • 解决方案资源管理器》项目名》属性(点击项目名,在旁边的属性栏即可显示)》ProductCode,复制即可。
    • 将卸载程序快捷方式与程序运行快捷方式放到一个文件夹中然后复制到“用户的‘程序’菜单”中,即可以通过浏览开始》全部程序进入到此文件夹中。也可以在其上在增加一个文件夹为公司的名称,这样就可以将该公司出品的应用安装到同一个目录中。

    默认公司修改方法

    左键点击打包项目,然后点击“属性”,就会出现下面的菜单!

    把Author和Manufacturer都进行修改!

    clip_image013

    8、文件夹需要通过 右键》添加》文件夹 的形式来实现,然后重新进行命名。

    clip_image016

    9、复制好的文件及文件夹如下图所示,是一一对应的。

    clip_image017

    10、通过在应用程序上面点击右键可以创建其快捷方式。

    修改快捷方式的图标,在跨界方式上点击 右键》属性》Icon,浏览相应的图标,图标需要是*.ico为扩展名的图片。

    clip_image019

    11、在“应用程序文件夹”上点击右键》属性,将下图蓝色部分的“[Manufacturer]”部分删除。不然的话做好的安装程序默认安装目录会是“C:programm file你的用户名安装解决方案名称”。

    注意“[Manufacturer]”可以不用删除,但是需要修改其默认值,默认是“默认公司名称”,可以修改成自己需要的名称,例如“NMEMC_BNLI”。

    clip_image021

    12、点击 解决方案资源管理器》赤潮灾害损失评估系统安装文件》属性。

    clip_image023

    13、弹出如下的对话框。

    clip_image025

    14、点击上图中的“系统必备”选项,然后选择相应的必备组件如下。

    clip_image027

    15、最后点击 解决方案资源管理器》赤潮灾害损失评估系统安装文件》生成,接下来就是waiting了,最后去相应文件夹的Debug文件夹下面去找生成的安装文件。

    clip_image029

  • 相关阅读:
    【Linux】【Shell】【Basic】文件查找locate,find
    【Linux】【Shell】【text】Vim
    【Linux】【Shell】【text】文本处理工具
    【Linux】【Shell】【text】grep
    【Linux】【Basis】用户、组和权限管理
    什么是高并发;超发的解决思路(悲观锁与乐观锁);高并发与多线程的关系--持续更新(十四)
    线程池的应用(十三)
    线程池基本概念(十二)
    ThreadLocal(十一)
    tomcat的单例多线程代码示例(十)
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/4121253.html
Copyright © 2020-2023  润新知