NSIS:制作C#应用程序安装包

——摘录自  轻狂编程资源网

           NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System)的缩写,它是一个免费的安装、卸载系统。它的特点:脚本简洁高效;系统开销小;当然进行安装、卸载、设置系统设置、解压文件等等更不在话下,几乎可以做所有的事情。

        以下是32位下NSIS制作安装包最基本的操作,供初学者入门之用。64位可参考:http://blog.csdn.net/yysyangyangyangshan/article/details/7172294

      NSIS安装包下载地址:http://download.csdn.net/detail/yysyangyangyangshan/3994241,版本高一些,但是制作安装包基本步骤都一样。

  思路

  脚本向导+修改代码=个性化安装包

  步骤

  一、利用向导制作安装包

  01、安装NSISv2.11简体中文增强版便已包含上述两款软件。安装完成后启动HM VNISEdit,选择“文件”菜单中“新建脚本:向导”,如图:

  02、在弹出的“NSIS脚本向导”对话框中单击“下一步”按钮,如图:

       

  03、设置应用程序信息,如软件名称、版本、出版人等。当然最后一个网站可以留空,如果设置了,则安装包会生成一个对应网址的“Internet 快捷方式”。如图:

       

  04、设置程序选项,如安装包图标、安装程序文件、安装包语言[这里选“SimChinese”]、用户图形界面及压缩方式等,我们可以选用默认值,也可以点击对应项目的按钮或下拉菜单更改设置,如图:

        

  05、设置是否使用“闪屏”和“音乐”效果,如图:

        

  06、设置应用程序默认安装目录及授权信息,授权文件建议使用.txt或。rtf格式。如图:

       

  07、添加应用程序文件,即我们要打包的文件,可以使用默认的“Mainsection”,也可以根据需要进行更改或新建组别,如果组比较多时,你也可以设置是否“允许用户选择要安装的组件”,如图:

       

  完毕后进行“添加文件”操作,选定我们要打包的文件,如图:

       

  全部添加完成后返回下图界面,执行下一步操作。

       

  08、设置开始菜单中文件夹名称及快捷方式,这里我们使用默认值,如图,按“下一步”。

       

  09、指定安装后要运行的程序,同上用默认值并设置相关运行参数及描述,如果你和我一样懒的话,或不想在安装后运行任何程序,则留空即可,如图:

        

  10、这步是有关卸载程序的相关信息,如卸载时的提示、卸载的图标等,如图:

        

  11、至此完成向导,如图,钩选“保存脚本”、“转换文件路径到相关路径”及“编译脚本”。

        

  提示保存脚本路径并自动编译脚本,我们可以按或F9运行安装程序进行预览,向导产生的安装包效果图如图所示:

       

      

  二、修改代码以个性化安装包

  1、修改软件LOGO:

  在源代码

  1. ; MUI 预定义常量 
  2. !define MUI_ABORTWARNING 
  3. !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico" 
  4. !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico" 
; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"

  下面添加下列代码:

  1. !define MUI_WELCOMEFINISHPAGE_BITMAP "E:\其他\我的文档\轻狂程序\flibpoto\flibpoto.bmp" 
!define MUI_WELCOMEFINISHPAGE_BITMAP "E:\其他\我的文档\轻狂程序\flibpoto\flibpoto.bmp"

  注释:引号内为位图的路径

  效果如图:

       

  2、修改安装包标题:

  接着在上面的位置下面添加如下代码:

  1. !define MUI_WELCOMEPAGE_TITLE "\r\n   轻狂图片浏览器v1.0安装向导"  
!define MUI_WELCOMEPAGE_TITLE "\r\n   轻狂图片浏览器v1.0安装向导" 

  注释:\r\n为换行标志

  效果如图:

       

  3、修改软件说明,接着在上面的位置下面添加如下代码:

  1. !define MUI_WELCOMEPAGE_TEXT "  轻狂图片浏览器是少轻狂开发的一个图片浏览编辑软件,能够方便地查看并编辑图片文件。\r\n\r\n  软件作者:少轻狂\r\n\r\n  官方网址:www.flighty.cn\r\n\r\n  <pre class="csharp" name="code">{1}</pre><br> 
  2. CLICK"  
  3. <pre></pre> 
  4. <p>  效果如图: </p> 
  5. <p>        <img alt="" src="http://hi.csdn.net/attachment/201201/3/0_1325553177Fd0y.gif"></p> 
  6. <p>  4、在源代码: </p> 
  7. <pre class="csharp" name="code">ShowInstDetails show  
  8. ShowUnInstDetails show </pre> 
  9. <p>后添加:</p> 
  10. <pre class="csharp" name="code">BrandingText " 轻狂编程资源网 www.flighty.cn"</pre> 
  11. <p>  效果如图: </p> 
  12. <p>        <img alt="" src="http://hi.csdn.net/attachment/201201/3/0_1325553288DliL.gif"></p> 
  13. <p>  5、在完成页面添加“安装说明”: </p> 
  14. <p>  只要在源代码: </p> 
  15. <pre class="csharp" name="code">; MUI 预定义常量</pre> 
  16. <p>  下面添加: </p> 
  17. <pre class="csharp" name="code">!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\安装说明.txt" 
  18. !define MUI_FINISHPAGE_SHOWREADME_TEXT "查看 安装说明" </pre> 
  19. <p>  效果如图: </p> 
  20. <p>        <img alt="" src="http://hi.csdn.net/attachment/201201/3/0_1325553372Nzb6.gif"></p> 
  21. <p>  6、闪屏界面,可以在源代码中加入下列代码即可:</p> 
  22. <p>A、普通效果 </p> 
  23. <pre class="html" name="code">Function .onInit  
  24. SetOutPath $TEMP  
  25. File /oname=spltmp.bmp "G:\Temp\Nsisres\splash.bmp"  
  26.  
  27. splash::show 2300 $TEMP\spltmp  
  28.  
  29. Pop $0  
  30.  
  31. FunctionEnd</pre> 
  32. <p>B、渐隐闪屏 </p> 
  33. <pre class="html" name="code">Function .OnInit  
  34. InitPluginsDir  
  35. File /oname=$PLUGINSDIR\splash.bmp "G:\Temp\Nsisres\splash.bmp"  
  36. advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash  
  37. Functionend 
  38. </pre> 
  39. <p>7、背景音乐[贯穿安装过程] </p> 
  40. <pre class="html" name="code">Var hmci  
  41. Function .OnInit  
  42. InitPluginsDir  
  43. SetOutPath $PLUGINSDIR  
  44. File "G:\Temp\Nsisres\music.mp3"  [说明:源MP3的存放路径]  
  45. System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\music.mp3") i .r0  
  46. SendMessage $0 0x0465 0 "STR:play repeat"  
  47. System::Call user32.dll::ShowWindow(i r0, i 0)  
  48. StrCpy $hmci $0  
  49. Functionend  
  50.  
  51. Section  
  52. ;add your codes  
  53. SendMessage $hmci 0x0010 0 0  
  54. Sectionend</pre> 
  55. <p>附录 </p> 
  56. <pre class="html" name="code">  1、闪屏效果(渐现渐隐)  
  57.  
  58. Function .OnInit  
  59. InitPluginsDir  
  60. File /oname=$PLUGINSDIR\splash.bmp c:\test.bmp  
  61. advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash  
  62. Functionend 
  63.   
  64.  
  65.   2、背景音乐1(贯穿安装全过程)  
  66.  
  67. Function .OnInit  
  68. InitPluginsDir  
  69. SetOutPath $PLUGINSDIR  
  70. File "c:\a.mp3"  
  71. System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\a.mp3") i .r0  
  72. SendMessage $0 0x0465 0 "STR:play repeat"  
  73. System::Call user32.dll::ShowWindow(i r0, i 0)  
  74. StrCpy $hmci $0  
  75. Functionend  
  76.  
  77. Section  
  78. ;add your codes  
  79. SendMessage $hmci 0x0010 0 0  
  80. Sectionend 
  81.   
  82.  
  83.   3、背景音乐2  
  84.  
  85. Section/Function  
  86. SetOutPath $PLUGINSDIR  
  87. File $WINDIR\MEDIA\chimes.wav  
  88. BgImage::Sound /NOUNLOAD /WAIT "$PLUGINSDIR\chimes.wav"  
  89. BgImage::Clear /NOUNLOAD  
  90. Sectionend/Functionend 
  91.   
  92.  
  93.   4、闪屏效果[渐隐]+背景音乐[全程]  
  94.  
  95. outfile test.exe  
  96. Var hmci  
  97.  
  98. Function .OnInit  
  99. InitPluginsDir  
  100. SetOutPath $PLUGINSDIR  
  101. File "c:\a.mp3"  
  102. System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\a.mp3") i .r0  
  103. SendMessage $0 0x0465 0 "STR:play repeat"  
  104. System::Call user32.dll::ShowWindow(i r0, i 0)  
  105. StrCpy $hmci $0  
  106.  
  107. File /oname=$PLUGINSDIR\splash.bmp c:\test.bmp  
  108. advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash  
  109.  
  110. Functionend  
  111.  
  112. Section  
  113. ;add your codes  
  114. sleep 5000  
  115. SendMessage $hmci 0x0010 0 0  
  116. Sectionend 
  117.   
  118.  
  119.   5、如何把安装页面中的“Setup将安装……”中的Setup改成别的字 
  120.  
  121.   只需在  
  122.  
  123. !insertmacro MUI_PAGE_DIRECTORY 
  124.   
  125.  
  126.   前面添加一行  
  127.  
  128. !define MUI_DIRECTORYPAGE_TEXT_TOP "你需要的文字" 
  129.   
  130.  
  131.   6、设置了自定义安装、卸载图标  
  132.  
  133. !define MUI_ICON "G:\Temp\Nsisres\Win 安装.ico"  
  134. !define MUI_UNICON "G:\Temp\Nsisres\Win 卸载.ico"</pre> 
  135. <p><br> 
  136. </p> 
  137. <p> <br> 
  138. </p> 
  139. <p> </p> 
  140. <pre></pre> 
  141. <pre></pre> 
  142. <pre></pre> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
NSIS安装包制作教程 分为三个目录:基础,插件,脚本 NSIS System 插件 NSIS VPatch 3.1插件 NSIS InstallOptions 2 插件 NSIS Modern UI(新式用户界面)插件 NSIS的Modern UI插件 NSIS里特殊符号的表达方法 两组件互斥 NSIS 常用小问题合集 资源替换式的美化包制作方式代码 安装完毕后如何刷新文件关联 教你如何编程调用 NSIS 的插件 NSIS安装程序概要 实现 NSIS 自定义页面中的控件操作代码 如何使用NSIS实现多目录安装设置 如何用NSIS在加入注册表 用NSIS 制作自己的安装程序 bluewind 的 wmp9 nsis安装脚本 NSIS安装脚本简明教程 取得winamp的NSIS脚本的教程 迅雷5.7.3.389 AYU增强版的安装脚本 NSIS制作迅雷安装的脚本 迅雷5.7.2.371 DDR1.5版去广告版源代码说明 NSIS删除安装程序自身 帮助文件中关于静默安装的说明 NSIS实现静默安装的两种方法 nsis的附加任务代码 关于 NSIS 写入注册表的问题 少轻狂制作的Windows优化大师的安装脚本 aipc编写的nsis极点安装脚本 官方 NSIS 插件全集 全方位掌握NSIS的使用 NSIS语言里怎样安装一个.inf文件? 如果要关联某个文件给程序应该怎么做? 如何避免显示解压缩进度框? 关于检测操作系统的问题 在结束页面添加运行程序选项 NSIS的botton二选一如何实现? NSIS灵活应用用逻辑库 NSIS调用inf安装驱动后的卸载问题 NSIS的组件互斥代码 在NSIS中如何禁止一个组件组的父项的点击事件 关于打破 NSIS 的 8192 字节限制的更简单方法 NSIS 自定义页面结合组件选择安装 一个关于组件跟自定义页面的控制问题 如何把安装的卸载程序放到其他目录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值