全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1821
推到 Plurk!
推到 Facebook!

在 inno 中設定系統 PATH

缺席
davidsun
初階會員


發表:57
回覆:71
積分:25
註冊:2002-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-07-16 01:01:27 IP:218.211.xxx.xxx 訂閱
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, 註解 將文章分類成[問題]‧
系統時間:2024-04-26 10:32:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!