最近在做项目,从Web前端开发转到node-webkit客户端开发,有很多新技术学习.分享一点经验.
一,关于程序打包工具"Inno Setup 5""的范例iss文件的范例:
有两种开机启动方式脚本的写法,以及创建桌面快捷方式,创建开始菜单程序文件夹与快捷方式.
开机启动方式一:在开始菜单启动目录中创建快捷方式,
这种方式适合绿合软件安装,不写注册表,以及后启动软件用,我用的node-webkit打包的通讯软件,启动后向服务器发送请求,在注册表方式开机启动在一些机器上会导致一些请求发不出去,堵死了,因此用这种方式更好,会在网卡什么的都运行安获取到网络地址才启动软件.
开机启动方式二:在注册表开机启动项中加入程序路径
这种方式适合要求开机启动要求快的软件使用.
这一编是写在打包安装中让用户选择是否开机启动,下一编会写用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}"