正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
;问题:
;我想自动为 FireFox 安装上 Real 的 Mozilla 插件~但是它的路径存放在"HKEY_CURRENT_USER\Software\Mozilla\Mozilla Firefox\1.5 (zh-CN)\Main" Install Directory 下~中间的 1.5 (zh-CN) 会随版本和语言不同而变化怎么样才能忽略中间的 1.5 (Zh-cn) 直接读取下级子键 Main 下的内容呢?
- ;答案:
- ;请参考以下示例。
- [Setup]
- AppName=我的程序
- AppVerName=我的程序 版本 1.5
- DefaultDirName={pf}\我的程序
- DefaultGroupName=我的程序
- [Files]
- ;Source: MyProg.exe; DestDir: {app}
- ;Source: MyProg.hlp; DestDir: {code:getAFolder}
- ;Source: Readme.txt; DestDir: {app}
- [Languages]
- Name: en; MessagesFile: "compiler:Default.isl"
- Name: nl; MessagesFile: "compiler:Languages\Dutch.isl"
- Name: de; MessagesFile: "compiler:Languages\German.isl"
- [CustomMessages]
- en.MyDescription=My description
- en.MyAppName=My Program
- en.MyAppVerName=My Program %1
- en.ProgramFailed=本程序的%1版本已经安装,请卸载后再安装本程序. 安装程序将关闭.
- nl.MyDescription=Mijn omschrijving
- nl.MyAppName=Mijn programma
- nl.MyAppVerName=Mijn programma %1
- nl.ProgramFailed=本程序的%1版本已经安装,请卸载后再安装本程序. 安装程序将关闭.
- de.MyAppName=Meine Anwendung
- de.MyDescription=Meine Beschreibung
- de.MyAppVerName=Meine Anwendung %1
- de.ProgramFailed=本程序的%1版本已经安装,请卸载后再安装本程序. 安装程序将关闭.
- [Code]
- // Code added by gnatix
- var
- FirefoxInstallDir: string;
- function getAFolder(default: String): String;
- begin
- if FirefoxInstallDir <> '' then // if found
- Result := FirefoxInstallDir
- else
- Result := ExpandConstant('{app}'); // if not found
- end;
- function GetInstalledVersion(): String;
- var
- InstalledVersion: String;
- begin
- InstalledVersion :='';
- RegQueryStringValue(HKLM, 'Software\BlueStacks', 'Version', InstalledVersion);
- Result := InstalledVersion;
- end;
- function InitializeSetup(): Boolean;
- var
- PrevVer: String;
- S: String;
- begin
- PrevVer := GetInstalledVersion();
- result := true;
- if length(PrevVer) > 0 then begin
- S := CustomMessage('ProgramFailed');
- StringChange(S, '%1', PrevVer);
- //如果发现程序已经安装过了
- MsgBox (S, mbError, MB_OK);
- result := false;
- end;
- end;
- //procedure InitializeWizard();
- //;var ;
- //;SubKeyNames: TArrayOfString;
- //i: Integer;
- //begin
- //FirefoxInstallDir:= '';
- //if RegGetSubkeyNames(HKEY_CURRENT_USER, 'Software\Mozilla\Firefox', SubKeyNames) then
- //for i := 0 to GetArrayLength(SubKeyNames)-1 do
- //RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Mozilla\Firefox\' + SubKeyNames[i] +'\Main', 'Install Directory', FirefoxInstallDir);
- //end;
-
复制代码
|