InstallScript檢查某個機碼在不在的方式
要檢查機碼在不在可利用RegDBKeyExist方式,但要先切到預設的Root。
如下檢查WSE 2.0是否在,不在的話才執行WSE的安裝程式
STRING szWSEPath, szKey;
begin
//先check是否有裝WSE,沒有才裝
//check reg SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\Microsoft WSE 2.0
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
szKey = "SOFTWARE\\Microsoft\\.NETFramework\\AssemblyFolders\\Microsoft WSE 2.0";
if (RegDBKeyExist(szKey) < 0) then
//還沒裝WSE
//安裝WSE
szWSEPath = INSTALLDIR ^ "WSE.MSI";
LongPathToQuote(szWSEPath, TRUE);
LaunchAppAndWait("msiexec.exe", "/i " + szWSEPath, LAAW_OPTION_WAIT);
endif;
end;
另外,因為我要裝的執行檔都是.NET的,我會先將InstallShield的.NET Scane At Build Component Setting改成None,如下圖所示,不然在Build時,它一個檔案一個檔案去Scan,會Build到昏頭的!
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^