2013-05-07 32 views
2

我想在我的主要安裝在innosetup開始之前檢查是否安裝了IIS 7或7+。 如果IIS7或7+不可用,則應顯示警報。 我需要檢查什麼條件? 我可以得到任何功能來完成這項任務?如何檢查IIS 7或7+是否已安裝或未使用innosetup?

+0

究竟版本7.5或IIS版本? – Raptor 2013-05-07 09:18:27

+0

正好版本7.5 – Lokesh 2013-05-07 09:23:56

+0

我在想使用'FileExists()'函數檢測IIS 7.5-only DLL /文件是否存在。但仍然找出只有IIS 7.5的文件。您在檢查時是否包含IIS 7.5 Express版本? – Raptor 2013-05-07 09:31:08

回答

2

根據this example for NSIS,您可以嘗試以下代碼。該IsIIS7AboveInstalled函數應該返回真,如果至少在7版本安裝了IIS,否則返回False:

[Code] 
const 
    IISRegKey = 'SOFTWARE\Microsoft\InetStp'; 

function GetIISVersion(var MajorVersion, MinorVersion: DWORD): Boolean; 
begin 
    Result := RegQueryDWordValue(HKLM, IISRegKey, 'MajorVersion', MajorVersion) and 
    RegQueryDWordValue(HKLM, IISRegKey, 'MinorVersion', MinorVersion); 
end; 

function IsIIS75AboveInstalled: Boolean; 
var 
    MajorVersion: DWORD; 
    MinorVersion: DWORD; 
begin 
    Result := GetIISVersion(MajorVersion, MinorVersion) and (MajorVersion >= 7); 
end; 
+0

再次感謝TLama .. – Lokesh 2013-05-07 10:24:37

+0

很高興我能幫上忙! – TLama 2013-05-07 10:27:33

相關問題