1. 程式人生 > >Inno setup 訪問登錄檔鍵值,獲取軟體安裝路徑

Inno setup 訪問登錄檔鍵值,獲取軟體安裝路徑

; 指令碼由 Inno Setup 指令碼嚮導 生成!
; 有關建立 Inno Setup 指令碼檔案的詳細資料請查閱幫助文件!


[Setup]
; 注: AppId的值為單獨標識該應用程式。
; 不要為其他安裝程式使用相同的AppId值。
; (生成新的GUID,點選 工具|在IDE中生成GUID。)
AppId={{C5FE0C14-DFF6-414B-9B11-4BDDE48DA588}
AppName=鋼筋切割工具
AppVersion=1.0
AppPublisher=***科技有限公司
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
DisableDirPage=no
DefaultDirName={code:GetInstallString}


[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[code]
function GetInstallString(Param:String): String;
var
  sInstallPath: String;
begin
  sInstallPath := '';
  if RegValueExists(HKLM, 'SOFTWARE\WOW6432Node\Bentley\Installed_Products\{075603A2-0EEA-42F2-971F-2D675F5555E2}', 'ProgramPath') 
  then
  begin
    RegQueryStringValue(HKLM, 'SOFTWARE\WOW6432Node\Bentley\Installed_Products\{075603A2-0EEA-42F2-971F-2D675F5555E2}', 'ProgramPath', sInstallPath)    
  Result := sInstallPath;
  end else 
      begin
  MsgBox('讀取登錄檔鍵值錯誤', mbInformation, MB_OK);
  end
end;


[Files]
Source: "C:\Users\70744\Desktop\測試檔案\ProStructuresNet.dll";  DestDir: {app}\mdlapps; Flags: ignoreversion
Source: "C:\Users\70744\Desktop\測試檔案\PSX_PlugInBase.dll";  DestDir: {app}\mdlapps; Flags: ignoreversion
Source: "C:\Users\70744\Desktop\測試檔案\RebarAddin.dll";  DestDir: {app}\mdlapps; Flags: ignoreversion
Source: "C:\Users\70744\Desktop\測試檔案\RebarAddin.dll.config";  DestDir: {app}\mdlapps; Flags: ignoreversion
Source: "C:\Users\70744\Desktop\測試檔案\RebarAddin.cfg";  DestDir: {app}\config\system; Flags: ignoreversion


; 注意: 不要在任何共享系統檔案上使用“Flags: ignoreversion”