[笔记]WiX制作msi安装包的例子】的更多相关文章

WiX是制作msi安装文件的工具,看了半天文档,感觉没有什么比一个例子更简单粗暴的了. <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="*" Name="HelloMSI" Language="1033&…
像7z和winRAR这样的压缩工具都支持制作自解压的文件.所谓自解压的文件就是不需要目标机器上安装解压工具,通过运行压缩包自己即可解压出压缩包中的文件.下面我们就介绍一下如何利用7z的自解压功能制作应用程序安装包. 熟悉应用程序安装的朋友应该清楚,安装一个应用程序真的是可简单,简单到很简单,也可以复杂,复杂到很复杂很复杂.简单的诸如把几个文件放在一起打个压缩包,解压到目标机器就行了.复杂些的诸如vistual studio和office的安装,要安装这些工具对windows来说可谓是”伤筋动骨”…
当在电脑中运行msi安装包时,出现the error code is 2503或者2502错误提示,其实是由于没有运行的权限导致的,但是又不能右击以管理员身份运行,那么应该如何操作呢?对于这样的问题,我们可以参考以下方法进行解决. 1.按Win+X选择"命令提示符(管理员)",或者右击命令提示符选择以管理员身份运行; 2.记住安装包的保存路径,尽量不要放桌面,因为路径会很长,因此建议可以直接保存到根目录下,比如"D:\",那么路径就是D:\python-2.7.11…
之前我写过使用好压软件打包程序,见随笔: 使用好压(HaoZip)软件打包EverEdit制作安装程序 - Fetty - 博客园http://www.cnblogs.com/fetty/p/4907969.html 这次研究了下WinRar制作程序安装包,和好压大同小异. 使用的winrar版本为5.3,百度搜索一下,很容易下载到的. 打开需要制作安装包程序的目录,不要包含上层目录,点击“添加”按钮,配置压缩参数. “常规”选项中,勾选 “创建自解压格式压缩文件”和“锁定压缩文件”. 切换到“…
找回MSI安装包Win7/Win8管理员身份功能 从Vista开始,系统引入了UAC用户控制功能,即普通用户运行exe软件安装程序,支持使用普通账户/管理员身份分别进行安装,但是msi安装包只支持默认账户进行安装,不支持以管理员身份方式运行安装包,那如何为msi包赋予更大的权限呢? 这时,我们可以利用注册表,为msi安装包添加一项"以管理员身份运行"的功能. 1.Win+R,打开运行,输入regedit 2.打开注册表编辑器(出现用户账户控制时,选择是) 3.定位到HKEY_CLASS…
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义msi安装包的执行过程. 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示这三个产品的安装交互UI显然是不恰当的.我们期望用一个统一的自定义UI去取代每个产品各自的UI. 平时使用msiexec.exe习惯了,所以最直接的想法就是在一个子进程中执行:     msiexec.exe /qn 这样固然是能够完成任务,但是不是太简陋了? 安装开始后我们想取消这次安装怎么办? 或者我们还…
安装msi安装包提示"在未标记为正在运行时,调用了RunScript”解决办法   windows/temp目录相关权限不对,右击temp文件夹,选择管理员获取所有权限.…
制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发.部署有提到用VS开发一个简单的VSTO程序.打包C/S程序,我首先想到的是VS里自带的Setup Project.很遗憾,VS2012及后面的版本都剔除了Setup Project,改用InstallShield Limited Edition. Setup Project配置起来N麻烦,如:配置完成了之后,一旦修改了项目的东西然后重新生成,只有移除原来定义好的快捷方式.主输出,然后重新设置才能应用修 改.而…
原文:installshield制作的安装包卸载时提示重启动的原因以及解决办法 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如下几种:1. 卸载时,程序正处于运行状态2. 卸载时,程序文件夹处于打开状态3. 卸载时,有文件被别的进程调用,或者在进程中,常见情况如dll在进程中 一般来说解决办法是针对第三种情况的,解决办法是卸载时强制杀进程,比如在OnMaintUIBefore或者OnUninstall里写上强制杀进程的代码…
前言:上篇C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.config的过程,操作起来是相对比较简单的,只要知道了博主提供的方法,相信都不是问题,其实博主当初寻找相关方法配置IIS和Web.config的时候也是费了九牛二虎之力的,毕竟资料太少,只能各种方式挨个尝试一遍,解决问题之后回过头来看,发现当初也是走了很多的弯路.比如今天要介绍的这个自定义dll的功能. 关…
2015-01-27 使用DevExpress控件包开发C/S项目完成后,部署前需要制作本地安装包.本文还是使用“SetupFactory”安装工厂来制作安装包.在以前的系列文章中详细介绍过该工具的使用,请参考http://www.cnblogs.com/SavionZhang/p/4106338.html. 实际情景:SetupFactory V9.0.3.DevExpress14.1.8.依赖程序.Net Framework 4.0. 由于项目中引用了很多DevExpress控件库中的DLL…
前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.config的过程,操作起来是相对比较简单的,只要知道了博主提供的方法,相信都不是问题,其实博主当初寻找相关方法配置IIS和Web.config的时候也是费了九牛二虎之力的,毕竟资料太少,只能各种方式挨个尝试一遍,解决问题之后回过头来看,发现当初也是走了很多的弯路.比如今天要介绍的这个自定义dll的功能. 关于安装包的制作,…
前言:在Win10中,在安装msi安装包的时候常常会出现代码为2502.2503的错误.其实这种错误是由于安装权限不足造成的,可以这种msi的安装包不像其他exe的安装程序,在安装包上点击“右键”之后没有“以管理员身份运行”的选项.那么,在Win10中安装程序出现2502.2503错误的时候该怎么办呢?请跟我一起来看看. 解决方法:https://jingyan.baidu.com/article/a501d80cec07daec630f5e18.html(我是参考,这个网站,解决了问题的,具体…
有时候我们须要在程序中运行还有一个程序的安装.这就须要我们去自己定义msi安装包的运行过程. 比方我要做一个安装管理程序,能够依据用户的选择安装不同的子产品.当用户选择了三个产品时,假设分别显示这三个产品的安装交互UI显然是不恰当的.我们期望用一个统一的自己定义UI去代替每一个产品各自的UI. 平时使用msiexec.exe习惯了,所以最直接的想法就是在一个子进程中运行: msiexec.exe /qn 这样固然是能够完毕任务,可是不是太简陋了? 安装開始后我们想取消这次安装怎么办? 或者我们还…
elastic各产品下载列表页:https://www.elastic.co/cn/downloads/ 打开Elasticsearch的下载页后看到的是当前最新版本的安装界面,现在最新的版本是7.4.2,如果想要安装低版本的怎么办呢? 7.4.2的MSI安装包的链接是:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2.msi 尝试修改版本,果然可以下载成功,所以这里为方便大家列一下截止7.4.2的一…
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义msi安装包的执行过程. 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示这三个产品的安装交互UI显然是不恰当的.我们期望用一个统一的自定义UI去取代每个产品各自的UI. 平时使用msiexec.exe习惯了,所以最直接的想法就是在一个子进程中执行:     msiexec.exe /qn 这样固然是能够完成任务,但是不是太简陋了? 安装开始后我们想取消这次安装怎么办? 或者我们还…
前言   做产品时,定制的自定义安装界面常有的,使用NSIS + Qt可以完美的定制基于QT的安装界面,先从纯NSIS开始,制作常规的安装包.   应用程序的发布方式   应用程序发布的时候,具备以下两种方式: 静态编译:把相关联的库一并引入可执行程序,虽然发布简单,编译出来只有一个exe文件.(特别注意:编译时,其依赖的库也需要使用静态包). 动态编译:把相关联的库以dll的形式提供(linux下是.so)引入,不被包含进可执行程序,发布不方便,但可执行程序较小.预先准备工具Qt应用需要先打包…
上一小节,主要介绍了构建最小级别的安装包,这个安装包所做的事情很简单,主要是打包好一些文件,然后放到用户机器的某个位置下面. 这个小节,主要是总结安装过程的各种行为如何使用Wix编写. 一.写注册表 安装过程经常会给注册表写东西,这个方法是通过 RegistryKey 元素实现的,通常用 Root 和 Key 来确定写注册表的位置,然后子元素 RegistryValue 来在这个位置下面写一条一条的项目,Name 和 Value 来确定这一项. <DirectoryRef Id="TARG…
7-zip制作自解压包很方便,只要在压缩时选择”创建自释放程序”选项. 而自解压安装包有点麻烦,不如WinRAR方便. 准备工具:下载 LZMA SDK 这里面有 7zSD.sfx (16.04版7zS2.sfx在Win7中不弹出对话框,下载9.20版7zS.sfx与16.04版7zSD.sfx).下载 ResourceHacker 用于修改 图标与属性已经压缩好的7Z文件制作UTF-8无BOM的config.txt文件 自解压模板说明SFX_Module    Description 7z.s…
NetworkComms网络通信框架序言 这个模板是在博客园和CodeProject上的代码修改而成的,感谢原作者 模板是2个 innosetup 制作.net 2.0 安装包的模板 innosetup 制作.net 4.0 安装包的模板 下载地址 innosetup 制作.net 2.0 安装包的模板 代码如下: ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "应用程序名称&quo…
提到Spoon可能大家还会感到陌生,但是如果提及XenoCode那么研究过DOTNET的人应该都知道吧.Spoon的前身就是XenoCode,虽然没有了PostBuild这个混淆软件,但是虚拟化技术仍然在完善,Spoon可以让DOTNET.JAVA和Flash程序脱离Framework在电脑上独立运行.最新的spoon已经可以支持DOTNET4.0了.     网上破解Spoon的教程几乎没有,有的也只有Danny_Su直接提供的破解版本.而我最为羡慕的就是Danny提供的版本中拥有原版安装界面…
概述 Qt Installer Framework(缩写QIF)是Qt官方用于生成软件安装包的工具.包括Qt Creator和Qt Installer Framework自身的安装包都是由这个工具制作的.详细说明请访问QIF的官方文档. 环境 我使用的环境是Windows7 64位和Qt Installer Framework 2.0.3 下载 首先根据自己的平台(Linux或Windows等)去Qt官网下载Qt Installer Framework的安装包或者源码.为了简单起见,我下载是安装…
1. 在General Information里,修改Product Version为新的版本号,此版本号应大于旧的版本号.点击Product Code右面的{...},获取一个新的Product Code.不要更换Upgrade Code! 2."解决方案资源管理器"中选择"1.Organize Your Setup",然后选择"Upgrade Paths",在左边的"Upgrade Paths"中点击右键,选择"…
有朋友问到如何在一个Windows Installer安装包中获取安装包源路径,就是在安装包运行过程中动态获取*.msi所在完整路径. 这个问题分两类,如果我们的安装包只是一个*.msi安装文件,那么可以通过获取Property OriginalDatabase的值来得到(注意:OriginalDatabase值有效的前提是这是初次安装,不适用修复等模式). 第二种情况是我们将MSI包封装在一个*.exe中,则我们需要通过SETUPEXEDIR这个Property来获取.…
最近在做C#程序安装包,结果网上看到这个软件还是不错的,可以尝试以下. NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System)的缩写,它是一个免费的安装.卸载系统.它的特点:脚本简洁高效:系统开销小:当然进行安装.卸载.设置系统设置.解压文件等等更不在话下,几乎可以做所有的事情. 以下是32位下NSIS制作安装包最基本的操作,供初学者入门之用.64位可参考:http://blog.csdn.net/yysyangyangy…
前言:大过年的,写篇文章不容易,还是给自己点个赞~~年前找了下.net安装包的制作方法,发现Visual Studio自带的制作工具使用起来非常麻烦,需要单独下载安装包,并且什么激活认证等等屁事相当麻烦,最坑爹的是它的自定义dialog使用起来有很多的局限性,所以找了很久,终于找到了Advanced Installer.摸索了两天,算是掌握了一些基本的方法,在此做个记录.相信对于需要使用的园友来说绝对是干货,不信可以看看. 本文原创地址:http://www.cnblogs.com/landea…
前言:大过年的,写篇文章不容易,还是给自己点个赞~~年前找了下.net安装包的制作方法,发现Visual Studio自带的制作工具使用起来非常麻烦,需要单独下载安装包,并且什么激活认证等等屁事相当麻烦,最坑爹的是它的自定义dialog使用起来有很多的局限性,所以找了很久,终于找到了Advanced Installer.摸索了两天,算是掌握了一些基本的方法,在此做个记录.相信对于需要使用的园友来说绝对是干货,不信可以看看. 本文原创地址:http://www.cnblogs.com/landea…
转载:https://www.cnblogs.com/zzllily/articles/5443850.html 转载:https://blog.csdn.net/bruce135lee/article/details/81977915 转载:http://www.nsisfans.com/(中文论坛) 转载:http://ggniu.cn/articles/nsniuniuskin.html(参考demo) 转载:https://blog.csdn.net/china_jeffery/arti…
2017-04-07 11:39:59 一.应用场景 Ubuntu在不能上网情况下,又需要安装软件或更新系统 二.离线安装包制作 在一台能正常上网的Ubuntu系统上,安装需要的软件包 $sudo apt-get -d install XXX 安装完成后,此时软件已经下载到了/var/cache/apt/archives目录下. 生成依赖关系 新建目录 $sudo mkdir /root/OfflinePackage 拷贝deb软件包到上新建的目录 $sudo cp -r /var/cache/…
大部分人第一次看到NSIS脚本都是一脸懵逼的.因为它这个脚本的结构乍一看上去就非常奇怪,不作说明的话是看不懂的. 编写脚本命令的时候要非常注意,命令要按照规定写在脚本中不同的段落里,也就是说,命令的先后顺序非常重要. 下面提供了一个标准的简单的脚本例子,使用注释说明了每个命令的具体作用,大家如果想快速上手编译出一个安装包,直接照着这个例子一行行抄就行了. # NSIS Modern User Interface# 关于 Modern 风格界面的命令和宏定义需要参考 NSIS目录下\Docs\Mo…