This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: IIS issues on Vista (Default document and App pool)
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Jul 04, 2007
07:38 PM
IIS issues on Vista (Default document and App pool)
I have 2 issues with Installshield 2008 and installing the compiled installer on Vista.
1. I have typed in Default.aspx in the documents section of IIS. But after the installation, all the virtual directories are setup, EXCEPT the default documents. The values dont seem to copy into the Default documents section. Is this a bug with Installshield??
2. In Vista IIS7, there is "Classic .NET" and "Integrated" application pools. How do I choose which one to install with Installshield 2008?
1. I have typed in Default.aspx in the documents section of IIS. But after the installation, all the virtual directories are setup, EXCEPT the default documents. The values dont seem to copy into the Default documents section. Is this a bug with Installshield??
2. In Vista IIS7, there is "Classic .NET" and "Integrated" application pools. How do I choose which one to install with Installshield 2008?
(10) Replies
‎Jul 23, 2007
11:20 AM
The default document setting should be working. I can't see any problems with it. Perhaps search the msi log for the default document name (in your case, Default.aspx) to see if that gives more information. Maybe you need to look at the properties for the application and not the virtual directory? Or you need to refresh the IIS manager?
‎May 07, 2008
10:05 AM
Any news on question number two:
How to choose within Installshield 2008 to deploy your application pool in "Classic" or "Integrated" as the managed pipeline mode?
How to choose within Installshield 2008 to deploy your application pool in "Classic" or "Integrated" as the managed pipeline mode?
‎Jun 10, 2008
06:58 AM
Found no solution.
We now use the integrated pipeline mode by default.
We now use the integrated pipeline mode by default.
‎Jun 12, 2008
01:02 PM
We have noticed the same thing where default documents are not populated on virtual directories in Windows 2008 server and we have found no way to set IIS 7 managed pipeline mode to classis through installation. I'm not sure how the marketing material for Installshield 2008 can say full support for Windows 2008 and IIS 7 when these basic attributes are overlooked and or simply fail.
‎Nov 25, 2008
02:14 AM
I believe the only way to set the pipeline mode is to use a custom action that calls appcmd. There are very many limitations to the IIS 7 support in IS 2009 I am afraid. For example you cannot set the ASP.NET version on an app. pool either.
I created a CA in a MSI DLL with the following code (Delphi). It should be fairly easy to translate to any other language
[CODE]function SetAppPoolPipelineMode(hInstall: MSIHANDLE): UINT; stdcall;
var
cmdLine, params:string;
begin
try
cmdLine := IncludeTrailingPathDelimiter(GetSystemRoot) + 'system32\inetsrv\appcmd.exe';
params := 'set apppool "Prodacapo" /managedPipelineMode:Classic';
if FileExists(cmdLine) then
LaunchAppAndWait(hInstall, cmdLine, params, '')
else
MsiLogInfo(hInstall, Format('Could not find %s', [cmdLine]));
except
on E:Exception do
MsiMessage(hInstall, mdtError, mdbOK, E.Message);
end;
result := ERROR_SUCCESS;
end;[/CODE]
The GetSystemRoot function looks like this
The LaunchAppAndWait is an internal function I wrote that simply executes the cmdline with the parameters and runs in the installDir.
You need to replace AppPoolName in the code with the name of your app. pool. Since the function checks for the existence of appcmd.exe I always execute it regardless of OS. AppCmd is only available on IIS 7 system (Windows Vista and Windows Server 2008) and if it's not there, the system is not IIS 7 anyway. Systemroot is by default %systemroot%\system32\inetsrv
I hope this can help someone.
I created a CA in a MSI DLL with the following code (Delphi). It should be fairly easy to translate to any other language
[CODE]function SetAppPoolPipelineMode(hInstall: MSIHANDLE): UINT; stdcall;
var
cmdLine, params:string;
begin
try
cmdLine := IncludeTrailingPathDelimiter(GetSystemRoot) + 'system32\inetsrv\appcmd.exe';
params := 'set apppool "Prodacapo" /managedPipelineMode:Classic';
if FileExists(cmdLine) then
LaunchAppAndWait(hInstall, cmdLine, params, '')
else
MsiLogInfo(hInstall, Format('Could not find %s', [cmdLine]));
except
on E:Exception do
MsiMessage(hInstall, mdtError, mdbOK, E.Message);
end;
result := ERROR_SUCCESS;
end;[/CODE]
The GetSystemRoot function looks like this
function GetSystemRoot: string;
begin
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKeyReadOnly('SOFTWARE\Microsoft\Windows\CurrentVersion');
result := ReadString('SystemRoot');
if result = '' then
begin
CloseKey;
OpenKeyReadOnly('SOFTWARE\Microsoft\Windows NT\CurrentVersion');
result := ReadString('SystemRoot');
end;
finally
Free;
end;
end;
The LaunchAppAndWait is an internal function I wrote that simply executes the cmdline with the parameters and runs in the installDir.
You need to replace AppPoolName in the code with the name of your app. pool. Since the function checks for the existence of appcmd.exe I always execute it regardless of OS. AppCmd is only available on IIS 7 system (Windows Vista and Windows Server 2008) and if it's not there, the system is not IIS 7 anyway. Systemroot is by default %systemroot%\system32\inetsrv
I hope this can help someone.
‎Nov 25, 2008
10:48 AM
Thanks Nitsev, we ended up using a custom action calling appcmd similarly to how you've described (I should have posted for others as well). As you suggested IIS7 support does appear limited in the tool despite all their marketing material suggestions of "full support for IIS7).
In my earlier post regarding default document not being set, we found that the tool was creating a web.config in our application directory with the default document xml, unfortunately we publish our own web.config just after that (renaming the existing) without that configuration (we ended up adding it to the one we publish to resolve the issue).
Hope that helps someone down the line.
Cheers all,
Rob
In my earlier post regarding default document not being set, we found that the tool was creating a web.config in our application directory with the default document xml, unfortunately we publish our own web.config just after that (renaming the existing) without that configuration (we ended up adding it to the one we publish to resolve the issue).
Hope that helps someone down the line.
Cheers all,
Rob
‎Dec 23, 2009
01:37 PM
Hi Rob,
We got to the solution of renaming web.config by hit and trial. For some reason installer created on remote machine failed to install virtual directory and rolled back. We are using IS 2010 Premier and Windows Server 2008.
However, If I remove or clear the web.config, then virtual directory is created successfully. Later on we replace the web.config with correct one.
You know any proper fix for this work around?
We got to the solution of renaming web.config by hit and trial. For some reason installer created on remote machine failed to install virtual directory and rolled back. We are using IS 2010 Premier and Windows Server 2008.
However, If I remove or clear the web.config, then virtual directory is created successfully. Later on we replace the web.config with correct one.
You know any proper fix for this work around?
‎Dec 31, 2009
01:08 PM
Hi Naveed,
We've had to continue to use the workaround, not sure what a proper fix would be to affect the custom actions built into installshield publishing the default document and other configuration settings when installing to vista\2008 server.
I think a problem you might be having is that the web.config that exists prior to the create v-dir action has maybe invalid xml or is not in the correct format for IIS7 and it causes the action to fail. Make sure to check the schema for configuration elements in IIS 7 and run the validation in a site with your config to see what might be missing or incorrect.
... (other settings)
Hope that helps.
Happy New Year.
Rob
We've had to continue to use the workaround, not sure what a proper fix would be to affect the custom actions built into installshield publishing the default document and other configuration settings when installing to vista\2008 server.
I think a problem you might be having is that the web.config that exists prior to the create v-dir action has maybe invalid xml or is not in the correct format for IIS7 and it causes the action to fail. Make sure to check the schema for configuration elements in IIS 7 and run the validation in a site with your config to see what might be missing or incorrect.
... (other settings)
Hope that helps.
Happy New Year.
Rob