最近在作項目,從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}"