Inno Setup打包 node-webkit程序 iss 开机启动脚本

最近在作项目,从Web前端开发转到node-webkit客户端开发,有不少新技术学习.分享一点经验.前端

一,关于程序打包工具"Inno Setup 5""的范例iss文件的范例:node

有两种开机启动方式脚本的写法,以及建立桌面快捷方式,建立开始菜单程序文件夹与快捷方式.web

开机启动方式一:在开始菜单启动目录中建立快捷方式,shell

这种方式适合绿合软件安装,不写注册表,以及后启动软件用,我用的node-webkit打包的通信软件,启动后向服务器发送请求,在注册表方式开机启动在一些机器上会致使一些请求发不出去,堵死了,所以用这种方式更好,会在网卡什么的都运行安获取到网络地址才启动软件.服务器

开机启动方式二:在注册表开机启动项中加入程序路径网络

这种方式适合要求开机启动要求快的软件使用.app

这一编是写在打包安装中让用户选择是否开机启动,下一编会写用node来设置开机启动,在程序运行后本身手动设置修改开机启动.工具

如下是部分package.iss文件中的脚本范例:学习

;定义变量
#define MyAppName "企信云"
#define MyAppVersion "3.3.0.1065"
#define MyAppExeName "nw.exe"

[Tasks]                                                                                     
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone;
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone;
Name: "startmenu"; Description: "开机自动启动"; GroupDescription:"{cm:AdditionalIcons}";Flags:checkablealone;

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
;开机启动方式一:在开始菜单启动目录中建立快捷方式
Name: "{userstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}";  Tasks: startmenu

[Registry]
;开机启动方式二:在注册表开机启动项中加入程序路径
;Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; Flags:deletevalue ;ValueType: string; ValueName: "{#MyAppName}"; ValueData: "{app}\{#MyAppExeName}"