I have just managed to get this working on 2008-64:
I was suffering the same problem with aspnet_iisreg invoking the 32bit pkgmgr.exe.
To get round it I created my own 64bit vbscript custom action to invoke pkgmgr to install the ASPNET role service before ISIISInstall is called.
I'm having the same problem on Windows 7 x64. I've set the platform to 32-bit and created an AppPool with Enable32 Bit Applications set to true too.
Does anyone have any idea how to fix this?
IIS Metabase and IIS 6 configuration compatibility required
I decided to just document that my installer requires "IIS Metabase and IIS 6 configuration compatibility". When that component of IIS is installed, it works.
Steps to add this IIS component on Windows Vista and Windows 7:
1. Open the Control Panel > Programs > Turn Windows features on or off (found under Programs and Features).
2. Expand the Internet Information Services feature.
3. Verify that "IIS Metabase and IIS 6 configuration compatibility" is checked.
I'm still seeing this problem with IS2010 on Win 7. Basically the image doesn't have ASP.NET installed and InstallShield calls the x86 version of aspnet_regiis which in turn calls the 32bit version of pkgmgr.
If I call the x64 version of aspnet_regiis it works. Also if I install ASP.NET through Programs and Features before running the 32bit version of aspnet_regiis there is no error.
This seems like a bug in either Microsoft or InstallShield to me. It seems like a 32bit EXE from MSFT shouldn't throw an excpetion and/or that InstallShield should recognize it's running on a 64bit platform and call the 64bit version of the EXE.
Am I missing something?
Last edited by Christopher Painter; 03-21-2011 at 11:35 AM.
for contact information
I do now wonder a few more things...
The help topic "Setting the ASP.NET version for a Web Site, Application or Virtual Directory" says that Aspnet_regiis.exe isn't reccomended. I don't see the custom action in my installer so I assume InstallShield is doing it by default.
I see there is a value called ASPNET.Platform on Web Sites and VDir's but I'm not sure what to make of it. I have a 32bit MSI that could potentially be installed on either a 32bit or 64 bit version of Windows.
I guess I've been getting lucky and I'm a little confused. At the end of the day I want to run 32bit web services on either a 32 or 64bit windows. I seem to be rolling just fine as long as ASP.NET is already installed otherwise I get the error.
Am I supposed to have two components for each website and make the mutually exclusive using component conditions or something? It seems like either that or call aspnet_regiis myself on 64bit machines before IS calls it.
for contact information