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: Installing a 32 Bit IIS Application to 64 Bit IIS 7
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 14, 2009
03:34 AM
Installing a 32 Bit IIS Application to 64 Bit IIS 7
Hi,
we've recently upgraded our install project from Installshield 2009 to 2010. As a result the install has started to fail on 64 bit machines during the installation of the application to IIS. The error logged is shown below:
InstallShield 12:59:33: Found element with property 'name' value of: DefaultAppPool
InstallShield 12:59:33: Application pool Enable32bitAppOnWin64 value is 'false'
InstallShield 12:59:33: SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
InstallShield 12:59:33: Error with IISRT: -2172
Now I realise that this error is fairly self explanatory but the issue we're having is that this check was not performed pre-2010 and the application was allowed to install. We then supplied some instructions in our install manual for the users to configure the appropriate settings (we have to use the Classic .Net App Pool so changing the application pool to that and then setting the Enable32bitAppOnWin64 to true). So we're looking for a way of disabling this check from being performed during the install?
An alternative fix would be to set the installed application to use the Classic .Net App Pool and set the Enable32bitAppOnWin64 flag to true but I cannot see how to use an existing app pool, only how to add a new one. Is there a way to do this?
Thanks in advance,
Graham
we've recently upgraded our install project from Installshield 2009 to 2010. As a result the install has started to fail on 64 bit machines during the installation of the application to IIS. The error logged is shown below:
InstallShield 12:59:33: Found element with property 'name' value of: DefaultAppPool
InstallShield 12:59:33: Application pool Enable32bitAppOnWin64 value is 'false'
InstallShield 12:59:33: SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
InstallShield 12:59:33: Error with IISRT: -2172
Now I realise that this error is fairly self explanatory but the issue we're having is that this check was not performed pre-2010 and the application was allowed to install. We then supplied some instructions in our install manual for the users to configure the appropriate settings (we have to use the Classic .Net App Pool so changing the application pool to that and then setting the Enable32bitAppOnWin64 to true). So we're looking for a way of disabling this check from being performed during the install?
An alternative fix would be to set the installed application to use the Classic .Net App Pool and set the Enable32bitAppOnWin64 flag to true but I cannot see how to use an existing app pool, only how to add a new one. Is there a way to do this?
Thanks in advance,
Graham
(16) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 14, 2009
10:18 AM
For the 'Application Pool' setting, you can enter an existing AppPool name.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 14, 2009
10:50 AM
Thanks for the reply.
In that case, is there a way that I can force the Enable32bitAppOnWin64 setting to true for the existing Application pool without having to use custom actions?
Cheers,
Graham
In that case, is there a way that I can force the Enable32bitAppOnWin64 setting to true for the existing Application pool without having to use custom actions?
Cheers,
Graham
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 15, 2009
11:50 AM
Settings on existing application pools or other IIS items cannot be changed. However, if your application can run as either 32-bit or 64-bit, you could use a property in the value field for the AspNetVerBitness property on your application (in the ISIISProperty table). The property can be added to the Property Manage with a default value of x86. A set property custom action could be used to set the property to x64 if VersionNT64 is set.
This would then allow for the ASP.NET platform to be set according to what configuration the machine is likely to be in and would not require changing settings on existing IIS resources.
This would then allow for the ASP.NET platform to be set according to what configuration the machine is likely to be in and would not require changing settings on existing IIS resources.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 14, 2009
01:16 PM
John, I'm having the same issue. Could you clarify your solution?
You're saying add a property named AspNetVerBitness but how does this link to the ISIISProperty table in MSI?
Are you saying using the MSI Direct Editor add "AspNetVerBitness" to the ISIISPROPERTY table (under the IISCommonWebSite item I assume?)
and point it to some "[property_name]" that gets set to x86 or x64?
You're saying add a property named AspNetVerBitness but how does this link to the ISIISProperty table in MSI?
Are you saying using the MSI Direct Editor add "AspNetVerBitness" to the ISIISPROPERTY table (under the IISCommonWebSite item I assume?)
and point it to some "[property_name]" that gets set to x86 or x64?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 14, 2009
02:27 PM
Your information is correct. In the ISIISProperty table, a new record would be added with the ISIISItem_ column set to the item this property applies to (from the ISIISItem table). The FriendlyName for the property should be AspNetVerBitness. The MetaDataValue column would be a property reference in the form [PROPERTYNAME]. This should then allow for dynamically configuring this IIS property based on the value of an MSI property.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 14, 2009
05:25 PM
Setting this on IsAppPool item did nothing and still yielded this, noting that it found my x86 request:
InstallShield 16:56:44: IIS7 check for ASP.NET version bitness on application pool 'DefaultAppPool', install is requesting 'x86'
InstallShield 16:56:44: GetAdminSection for section 'system.applicationHost/applicationPools' and path 'MACHINE/WEBROOT/APPHOST' and commitpath 'MACHINE/WEBROOT/APPHOST'.
InstallShield 16:56:44: Found element with property 'name' value of: DefaultAppPool
InstallShield 16:56:44: Application pool Enable32bitAppOnWin64 value is 'false'
InstallShield 16:56:44: SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
InstallShield 16:56:44: Error with IISRT: -2172
Action ended 16:56:44: InstallFinalize. Return value 3.
Action 16:56:44: Rollback. Rolling back action:
will try setting it on the website item.
InstallShield 16:56:44: IIS7 check for ASP.NET version bitness on application pool 'DefaultAppPool', install is requesting 'x86'
InstallShield 16:56:44: GetAdminSection for section 'system.applicationHost/applicationPools' and path 'MACHINE/WEBROOT/APPHOST' and commitpath 'MACHINE/WEBROOT/APPHOST'.
InstallShield 16:56:44: Found element with property 'name' value of: DefaultAppPool
InstallShield 16:56:44: Application pool Enable32bitAppOnWin64 value is 'false'
InstallShield 16:56:44: SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
InstallShield 16:56:44: Error with IISRT: -2172
Action ended 16:56:44: InstallFinalize. Return value 3.
Action 16:56:44: Rollback. Rolling back action:
will try setting it on the website item.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 14, 2009
05:36 PM
Same moving that ISIISProperty property to IsIISCommonWebsite item in the table.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 14, 2009
06:17 PM
I pointed my web site being created to our own application pool which has the "Enable 32-bit applications" setting set vs. allowing it to default to DefaultAppPool.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 17, 2009
03:31 AM
We also ended up creating our own custom ApplicationPool with the Enable32-bit application set to on and used this custom AppicationPool in our installed web application and this has resolved the issue.
Graham
Graham
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 17, 2009
12:04 PM
It would be necessary to install a new application pool to apply this setting. InstallShield will not change any settings on existing IIS resources in an effort to ensure that nothing already running on a target machine breaks.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 28, 2009
02:05 PM
Does this property set work for those of us still on 2009?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 02, 2009
09:56 AM
I have a similar problem and I need som clarification.
I have tried creating the very simplest installer that has an app. pool with Enable 32-Bit application set to Yes.
I have a site and an application under the site that both use the app. pool and which ASP.NET version is set to 2.0.
On Windows 7 x64, the installer fails with the same error message as in the first post.
The error message says:
InstallShield 12:59:33: SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
There is no machine-state for the Enabel32BitAppOnWin64 on Windows 7 (or Windows Server 2008) as was the case on Windows Server 2003 x64, but the property applies to the individual app. pools, so it's perfectly valid to have one app. pool running 64-bit apps and one running 32-bit apps.
I have tried creating the very simplest installer that has an app. pool with Enable 32-Bit application set to Yes.
I have a site and an application under the site that both use the app. pool and which ASP.NET version is set to 2.0.
On Windows 7 x64, the installer fails with the same error message as in the first post.
The error message says:
InstallShield 12:59:33: SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
There is no machine-state for the Enabel32BitAppOnWin64 on Windows 7 (or Windows Server 2008) as was the case on Windows Server 2003 x64, but the property applies to the individual app. pools, so it's perfectly valid to have one app. pool running 64-bit apps and one running 32-bit apps.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 02, 2009
11:57 AM
Creating a new application pool for a website or application should allow for changing the 32-bit/64-bit application pool setting and allow the site or application to install correctly.
What is the ASP.NET Platform setting set to for the website/application that is using this application pool?
What is the ASP.NET Platform setting set to for the website/application that is using this application pool?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 02, 2010
10:33 PM
i have same problem in windows server 2008 64 bit, but it was solved, just change application pools enable 32 bit applications to be true in advance settings.
or using script
C:\Windows\System32\inetsrv>appcmd set apppool /apppool.name: "Classic .NET AppP
ool" /enable32bitapponwin64:true
C:\Windows\System32\inetsrv>appcmd set apppool /apppool.name: "DefaultAppPool" /
enable32bitapponwin64:true
or create two application for 32 bit and 64 bit operating systems
or using script
C:\Windows\System32\inetsrv>appcmd set apppool /apppool.name: "Classic .NET AppP
ool" /enable32bitapponwin64:true
C:\Windows\System32\inetsrv>appcmd set apppool /apppool.name: "DefaultAppPool" /
enable32bitapponwin64:true
or create two application for 32 bit and 64 bit operating systems
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 15, 2011
02:11 PM
Aside from using scripting to do this, is there any combination of settings that would allow a 64-bit app pool to be installed using 64-bit ASP.Net which also has Enable32bitAppOnWin64 enabled? This seems to be a disallowed combination of settings (says the help) however I have 2 comments:
1. I can imagine the entire world would like to install their older 32 bit apps onto 64 bit computers with simply allowing their code to run in a new 64 bit app pool.
2. When I set the "Enable32bitAppOnWin64" setting to false, my website installs but does not work since it is 32-bit code. Manually setting this advanced setting makes everything work. You would however expect that configuring your computer to a so called "bad state" would have some negative consequences however there are none.
I suppose I could simply install a 32-bit app pool however Installshield 2010 uses these settings to construct the ASP.Net path information which will be malformed on a 64-bit PC. This malformed path will cause a fatal error and the installation will roll back. The error is on the regiis -ir command. So this is not an acceptable fix either.
If anyone has any information please post.
1. I can imagine the entire world would like to install their older 32 bit apps onto 64 bit computers with simply allowing their code to run in a new 64 bit app pool.
2. When I set the "Enable32bitAppOnWin64" setting to false, my website installs but does not work since it is 32-bit code. Manually setting this advanced setting makes everything work. You would however expect that configuring your computer to a so called "bad state" would have some negative consequences however there are none.
I suppose I could simply install a 32-bit app pool however Installshield 2010 uses these settings to construct the ASP.Net path information which will be malformed on a 64-bit PC. This malformed path will cause a fatal error and the installation will roll back. The error is on the regiis -ir command. So this is not an acceptable fix either.
If anyone has any information please post.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 04, 2018
03:17 AM
deramor wrote:
Aside from using scripting to do this, is there any combination of settings that would allow a 64-bit app pool to be installed using 64-bit ASP.Net which also has Enable32bitAppOnWin64 enabled? This seems to be a disallowed combination of settings (says the help) however I have 2 comments:
1. I can imagine the entire world would like to install their older 32 bit apps onto 64 bit computers with simply allowing their code to run in a new 64 bit app pool.
2. When I set the "Enable32bitAppOnWin64" setting to false, my website installs but does not work since it is 32-bit code. Manually setting this advanced setting makes everything work. You would however expect that configuring your computer to a so called "bad state" would have some negative consequences however there are none.
I suppose I could simply install a 32-bit app pool however Installshield 2010 uses these settings to construct the ASP.Net path information which will be malformed on a 64-bit PC. This malformed path will cause a fatal error and the installation will roll back. The error is on the regiis -ir command. So this is not an acceptable fix either.
If anyone has any information please post.
I have created installer to create IIS Web Site and installer creates new application pool for new Web site. I have 'Set Enable 32-Bit applications' property to No (I believe this point to Enable32bitAppOnWin64). When installer runs it create application pool but it throws error and installer rollbacks while creating Web Site. Any reason for error even if I create new application pool and map it with Web Site?
Found element with property 'name' value of: DefaultAppPool
Application pool Enable32bitAppOnWin64 value is 'false'
SetAspversion: machine is 64-bit and IIS running in a bit mode other than the currently selected mode
Error with IISRT: -2172