Windows平台简易程序安装包发布方法

前言

上个学期专门研究了如何高逼格的打包我自己开发的应用程序,起初是打算从单纯的压缩包改成可自解压的压缩包,但是这还是个压缩包,还是LOW。之后在网络上搜索了半天,发现了NSIS这个工具,这个很棒,使用脚本语言编译安装程序,当然这个不是最棒的,最棒的在于支持可视化的安装程序设计,自动生成代码。但是我高兴的太早,自动生成的代码有错,呵呵哒。但是经过一天的摸索,终于搞懂了它其中脚本语言的大致语法,修改了错误,并添加相应代码实现了桌面快捷方式和开始菜单快捷方式的创建。为了造福大家,也为了防止遗忘,特以此次上位机的程序打包为例,做此教程。

开始前准备

1.NSIS下载    http://pan.baidu.com/s/1hr5SS6o

2.安装NSIS

3.准备好你想打包的程序,最好把他们f放在一个文件夹里

如图,这便是我制作的程序所有内容所在的文件夹

运行NSIS,如图

运行可视化脚本编辑器

打开后如图,运行可视化脚本编辑器

运行后弹出欢迎

我们选择第二项,使用脚本向导创建新的脚本文件

之后如图

显然,下一步

基本信息的录入

我写的程序是串口调试工具,所以就叫他SerialPort好了,第一版,就叫1.0好了,出版人,Fuermohao,后面两项就算了,网页你可以随意贴一个你的博客什么的吧,若是公司那就写你的公司域名,标志我就空着好了,你有兴趣自己添加。填好后如图

程序基本信息完成

还等什么,下一步

这里,我们设置安装程序的语言,安装包的名字,安装界面

安装程序图标,我找了个好看的,放到了桌面

选择安装包程序图标

安装包名字就叫Setup.exe吧,安装图形界面就选经典好了。安装程序语言,默认是简体中文,已经勾选,为了和国际接轨,我们再把英语勾选上吧(装逼要国际化)。

勾选English

接着下一步,如图,设置安装界面的窗口颜色和闪屏属性的。

这页不用管

就我个人而言,简单点好,安装程序就不要太多特效了,闪屏看着没啥意思,背景音乐什么的容易被拉黑,这页直接下一步吧。

目录和授权文件

第一行默认就好,我们安装之前一般默认是C盘的Programfiles这个目录,下面的允许用户更改目录是默认勾选的。接下来的授权文件,装逼的时候又到了。在你桌面建一个TXT文档吧~怎么装逼怎么写。

授权文件

我的授权文件即这个  1.txt ,选中它就好,下面的几个按钮你们随意选吧,看你喜好。下一步。      PS:千万别选古典按钮,有很大几率这个古典按钮会导致BUG,这个BUG会让你选择文件安装路径环节直接被跳过。

打包的目录

先把这个两个默认的实例路径删了。选中,点上面的 X。

删除之后

新建一个路径。点文件上面那个A4纸的LOGO。

选择路径

在选择目录的地方找到你要打包的文件夹。我的在桌面,叫SerialPort。然后需要注意的一点目的目录后面需要添加 通配符 "\*.*",然后下面的包含子目录需要勾选。

添加 通配符 "\*.*"

确定,然后下一步。

快捷方式的创建

这步很关键。文件夹名称会被添加在开始菜单中,我是WIN10系统,添加好后会在这里建一个文件夹,如图360之类的

开始菜单示例

我们创建一个桌面快捷方式

创建桌面快捷方式

我们选择DESKTOP,创建的快捷方式肯定是.exe文件的,所以要把路径写清楚。  目的需要改成"$INSTDIR\ASA_Serial_Port.exe"

找到你的EXE文件,把文件路径找好


创建桌面快捷方式

接下来创建一个开始菜单的快捷方式,选择STARTMENU


创建开始菜单的快捷方式

确定,下一步


这一步,可略,有兴趣自己研究吧,篇幅有限,这里不再赘述。直接下一步。


卸载方式,我们改个图标就好了。


更改卸载程序的图标

一切OK,确定即可。


完成

点击完成,之后自动生成了脚本文件,并在编译器中打开。



自动生成脚本文件


看到上面的NSIS了吗,点击它,并选择 编译并运行 ,然后会提示你先保存文件,选个位置吧,我放在了桌面,这样最后打包好的安装包也在桌面。


提示出错

如上,编译后后报错,但不用管,无伤大雅。现在看看桌面


安装包

安装包有了~试着装装看!


逼格有木有


安装向导界面


协议问询界面


装完之后,你会发现 桌面并没有快捷方式。接下来,我们一起改改自动生成的代码。打开这个脚本文件。


脚本文件

我们看到 ------ MUI 现代界面定义结束 ------这一行之后,找到                   Section -AdditionalIcons  这个模块

Section -AdditionalIcons

我们局部放大,当然我这是改好之后的。你可以发现有什么不同。

局部放大

在你安装好之后,你应该会发现,在你的开始菜单的文件夹中会有一个卸载的图标。这个图标来源于

CreateDirectory "$SMPROGRAMS\SerialPort"

CreateShortCut "$SMPROGRAMS\SerialPort\Uninstall.lnk" "$INSTDIR\uninst.exe"


根据这些个英文单词的意思,很容易理解这个快捷方式的添加原理。我们需要先创建一个路径,用CreateDirectory来声明这个路径。这个路径是干嘛的呢,显然,是你的快捷方式要生成的父文件夹路径。比如,我们要在开始屏幕生成一个文件夹用来存放快捷方式,所以“$SMPROGRAMS”就代表STARTMENU的程序文件夹。之后,我们需要用CreateShortCut来声明创建的快捷方式源对象和快捷方式。当然,我们的exe在文件夹目录中,那么你安装的位置不同路径就会不一样,所以考虑到此,有一个相对路径和绝对路径的概念。而$INSTDIR就是一个相对路径的标识符,它指明了你程序当前所在的文件夹路径。我想,在此也不必过多赘述,之后怎么修改就看你的了,上面的截图也给出了示例。如果你真的弄明白了,你会发现我其中有行代码在做无用功。

那么,修改好代码之后,再次编译运行吧!这下,快捷方式就能成功的发到桌面了。


在此,你可能会问,为什么快捷方式直接创建不能成功?嗯,原谅我写教程就是喜欢先带你们入坑。首先笔者需要说明,整个教程也是我自己学习打包方法的一个认知过程,是在经验主义上总结出的。好了,开始回答你心中的疑惑。

修正

我们在之上的那一步犯了一个错误,错误在于,我们只是添加了源对象的路径,并没有详细写出快捷方式的路径,起初我以为是自动生成,后来我仔细想了想才发现这里应该按代码那样把快捷方式那栏补全  "$DESKTOP\SerialPort.lnk"


以上,既是整个程序安装包打包流程。望采纳打赏。如果你在此教程中遇到异常的问题 可与我讨论。

                                                    在此留下我的邮箱:Fuermohao@outlook.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容