1 写好了一个windows程序之后如何制作安装包

这个在vs中就可以直接发布了,可以制作msi的安装包和exe的安装包。

2 window应用程序安装包做了哪些事情

rpm安装包的话,只是把相应的文件拷贝到不同的目录。那么window安装包做了什么呢?

msi里面有一个table,里面是一条条的指令,windows installer会解释并执行这些指令。

它还是会把安装包里面的文件拷贝到相应的目录。关键是它除了拷贝还做了哪些事情呢?

3 安装包除了把相应的文件放到不同的目录下,还做了哪些事情,比如注册表

第一,将安装的产品告诉给系统。

第二,查找系统是否有我需要的某个文件,不如某个动态库。

第三,计算本次安装需要占用的磁盘空间的大小,判断当前的磁盘空间是否够。

第四,修改注册表。

4 安装包操作注册表是为什么?注册表在程序安装和运行过程中起到了什么作用

可以在制作安装包的时候向注册表中添加键值对,这个键值对可以在代码中访问。

5 windows installer

5.1 windows installer解析windows安装包中的指令table,完成安装过程

5.2 windows installer的标准动作

安装包中被windows installer使用的tables:

有很多的tables

5.2.1 发布产品、特性和部件的action

就是把产品、特性和部件告诉给windows系统。

5.2.2 文件查找action

安装的时候,查找系统中是否存在某个文件。

5.2.3 file costing action

看当前的安装需要消耗多少的磁盘空间。

5.2.4 文件安装action

就是讲指定的文件从源目录拷贝到目的地目录。

5.2.5 修改注册表action

当部件和文件都安装到目的地目录之后,就可以修改注册表了。只有在文件安装action执行完成之后,才能执行注册表修改action。

5.2.5.1 RegisterClassInfo action

注册安装部件的COM类信息。

5.2.5.2 RegisterExtensionInfo action

5.2.5.3 RegisterProgIdInfo action

5.2.5.4 RegisterMIMEInfo action

5.2.5.5 WriteRegistryValues action

5.2.5.6 RemoveRegistryValues action

这个是卸载的时候执行的。

参考资料:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa372022(v=vs.85).aspx

orca tool

https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx

转载于:https://www.cnblogs.com/hustdc/p/6817510.html

为自己编写的windows应用程序制作安装包相关推荐

  1. 用c++编写破解Windows密码程序

    用c++编写破解Windows密码程序(缺点只能破解当前电脑的密码) .cpp文件 #include "CrackWinPassword.h" #pragma warning(di ...

  2. LabVIEW编程技巧:如何制作安装包程序

    目录 一.LabVIEW中制作安装程序的方法 二.生成应用程序(EXE程序) 二.制作安装包程序 三.总结 当我们在LabVIEW平台上辛辛苦苦编写完成测试软件程序时,一般很少情况将程序源代码分发给用 ...

  3. 制作AE(ArcGIS Engine 打包)开发的应用程序的安装包

    利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包 以下是个人学习的一些心得,由于本人对InstallShield也是刚刚接触,可能有些地方不是那么合理, ...

  4. 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包

    原文:http://blog.csdn.net/swfcsunboy/article/details/2314249 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应 ...

  5. Qt软件发布(版本信息,Release版程序,代码打包,制作安装包)

    序言 当我们完成了Qt程序的开发,希望交予测试,或是正式发布的时候,需要将我们的程序进行层层封装,最终以一个安装包的形式呈现给用户.专业版的软件发布,以Qt软件为例,需要三个步骤:生成版本信息,生成R ...

  6. 使用VS 2019制作桌面程序的安装包

    使用VS 2019制作桌面程序的安装包 前言 文章中是以.NET 平台下使用C#语言开发的WinForm桌面程序为例,说明安装包制作流程.但根据官方文档的说明,Windows下的其他语言(C++/VB ...

  7. 发布文件打包springboit_程序安装包咋制作的?Qt程序打包三部曲,从应用程序到安装包...

    前言 本章节主要是讲解下如何打包Qt程序.Qt使用自带的windeployqt 处理依赖库生成exe来发布软件. 准备exe 1.程序要想发布,在编译器编译一定要选择"release&quo ...

  8. 用VS.NET2003制作WEB应用程序的安装包

    用VS.NET2003制作WEB应用程序的安装包 --------------------------------------------------------------------------- ...

  9. vs2005制作安装包(自动安装.net framework 2.0)(小寿原创)

    vs2005制作安装包(自动安装.net framework 2.0)(小寿原创) 新建项目-> 其他项目类型->安装和部署->安装向导! 安装向导会提示你添加要安装的文件,这时你可 ...

最新文章

  1. 图像处理包括哪些东东?
  2. 实现mysql按月统计的教程
  3. iOS开发者React Native学习路线
  4. 测试telnet安装成功 以及如何进入和退出telnet命令模式
  5. java的string类_Java中的String类笔记
  6. 卖零食靠什么产品引流?零食店怎么做引流?
  7. mysql根据用户经纬度查询附近商家,mysql根据经纬度获取附近的商家
  8. python代码收费_莱斯大学学费 - 高速公路收费的python设计代码
  9. 解决谷歌浏览器Chrome不能播放央视新闻视频的问题
  10. 对自己的反思 (闲暇中的面试总结)
  11. STM32F103ZE和STM32F207ZG的芯片区别
  12. 基于卷积神经网络的皮肤癌检测系统
  13. 易烊千玺领衔,潮流自拍手机华为nova5系列发布
  14. vue实现购物车简单的功能-单选全选总价计算、批量删除
  15. python环境搭建.
  16. Revit二次开发之技能篇(一)———轴网自动对齐
  17. Nonce Used1
  18. 排版设计常用术语和常识
  19. LAMMPS模拟——纳米螺旋桨
  20. 艾永亮:分析儿童智能手表市场,为什么品牌只有小天才和其他?

热门文章

  1. Windows下Redis安装的那些事儿!
  2. .Net学习(三):初识ASP.Net
  3. GPU、TPU买起来,新政策让1亿研发费用可多减税375万元
  4. 明略数据(现在)是一家怎样的公司?
  5. 26秒!全球销量第一的AI音箱就被腾讯黑掉了,然后变身窃听器
  6. 背靠福特的Argo无人车发生严重事故,两名乘客已送往医院
  7. 微软旗下Maluuba推出看图问答数据集,想让AI看懂图表
  8. 1.4.1bat脚本命令COPY 拷贝 复制到
  9. Spark createDirectStream 维护 Kafka offset(Scala)
  10. ZooKeeper学习专题之四:示例 实时更新server列表