在 inno 中設定系統 PATH |
缺席
|
davidsun
初階會員 發表:57 回覆:71 積分:25 註冊:2002-04-14 發送簡訊給我 |
Greeting ,
很多人在使製作安裝程式的時候都會遇到一個問題,就是如何設定環境變數,因為設定環境變數 -> PATH,一定要重新開機才能生效(好像有 API 可以不用重新開機就生效,但是我不知道怎麼用)而系統的 PATH 是在 HKEY_LOCAL_MACHINE -> SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment 中,其中會有一個 path 參數,在 inno 中可以支援新增 registry , 但是,我們不能新增這個機碼,因為他已經存在,我們也不能直接覆蓋這個設定,我們只能在 path 設定之後,加上我們要設定的路徑,在 inno 中要怎麼做呢?這時就需要使用 inno 的腳本語言,我們建立一個 code : [code delphi] function myInstallPath(Default: string): string; var mypath: string; begin mypath:= ''; RegQueryStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', mypath ); if pos(mypath,'openssl') = 0 then begin mypath := mypath ';' ExpandConstant('{app}') '\openssl'; end; result:= mypath; end; [/code] 然後在 registry 中設定: [Registry] Root: HKLM; Subkey: SYSTEM\CurrentControlSet\Control\Session Manager\Environment; ValueType: string; ValueName: path; ValueData: {code:myInstallPath} 此時安裝完成之後,就會自動在系統變數 PATH 後面加上你要的路徑,但是要重新開機才能生效,所以 inno 要設定讓使用者重新開機。 編輯記錄
taishyang 重新編輯於 2008-07-16 09:49:38, 註解 將文章分類成[問題]‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |