问题
I am trying to create IISSetup in the Windows Server 2012 (IIS version 8.5) through the below install script but throws error "Invalid class string". code:
var
IIS, WebSite, WebServer, WebRoot, VDir: Variant;
ErrorCode: Integer;
begin
{ Create the main IIS COM Automation object }
try
IIS := CreateOleObject('IISNamespace');
except
RaiseException(
'Please install Microsoft IIS first.'#13#13'(Error ''' +
GetExceptionMessage + ''' occurred)');
end;
end;
回答1:
I had the same issue on a Windows Server 2008 R2 Enterprise with Service Pack 1.
procedure TForm1.Button1Click(Sender: TObject);
var
iis: OleVariant;
begin
iis := CreateOleObject('IISNamespace');
end;
The solution for me was a missing IIS feature. One has to install the IIS 6 thingy.
(germany version, don't know english)
- IIS 6-Verwaltungskompatibilität
- IIS 6-Metabasiskompatibilität
- IIS 6-WMI-Kompatibilität
- IIS 6-Scriptingtools
- IIS 6-Verwaltungskonsole
I am not sure but "IIS 6-Scriptingtools" should be enough.
来源:https://stackoverflow.com/questions/25617718/inno-setup-createoleobjectiisnamespace-throws-exception-on-windows-server-20