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: GAC 64 install
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
‎Mar 19, 2010
03:06 PM
GAC 64 install
Hello all,
Just wanted to hear if anyone has placed files in the GAC64 dir yet? We need to have a file out there, and it's not one of the predefined folders for Installshield.
Any help would be greatly appreciated.
Just wanted to hear if anyone has placed files in the GAC64 dir yet? We need to have a file out there, and it's not one of the predefined folders for Installshield.
Any help would be greatly appreciated.
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 22, 2010
08:34 AM
I think this may be a bug. When i try to install a 64 bit dll into the regular GAC predefined folder, it crashes. I tried to copy the files into C:\Windows\Assembly\GAC_64 but it literally installs the file there, it doesnt' use Fusion and get properly installed.
Anyone have any ideas? It's getting pretty desperate over here. Thx.
Anyone have any ideas? It's getting pretty desperate over here. Thx.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 22, 2010
05:33 PM
MSI doesn't provide any notion of a 32-bit or 64-bit GAC folder (compared to Program Files or System32). To install an assembly to the GAC usually requires setting its destination to GlobalAssemblyCache and then leaving the .NET Application File empty for the component (the assembly also needs to be the keypath of the component). You could try marking the component as 64-bit. However, since MSI delegates the installation of assemblies to the GAC, the final location Fusion chooses for the assembly may be based on the architecture the assembly targets (MSIL, x86, x64, etc.). Since MSIL assemblies can be loaded by either a 32-bit or 64-bit framework, it would not seem to make sense that they would be installed to a specific 64-bit GAC folder.
In any event, the purpose of the GAC is generally to abstract away specific locations where shared assemblies are on the machine, in which case the framework knows where and how to locate an assembly based on its metadata. This is probably why MSI does not expose any specific folder structure for installing to the GAC, and instead uses the information populated in the MsiAssembly and MsiAssemblyName tables to install assemblies as needed.
In any event, the purpose of the GAC is generally to abstract away specific locations where shared assemblies are on the machine, in which case the framework knows where and how to locate an assembly based on its metadata. This is probably why MSI does not expose any specific folder structure for installing to the GAC, and instead uses the information populated in the MsiAssembly and MsiAssemblyName tables to install assemblies as needed.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 23, 2010
06:33 AM
Great, i'll give it another try and see if that works by setting those. thanks!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 23, 2010
06:47 AM
One more thing, i sort of disagree on. I'm not convinced that MSI has caught up to 64 bit GAC. We have an installer here for TxTextControl 15.0 and that places files specifically into the 64 Bit GAC. I'll try what you suggested above, but if that still doesn't work, something else is at play here.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 23, 2010
08:08 AM
No luck with the above steps... it basically crashes when i try to install to the GAC with it set to 64bit or not. I think it understands the architecture internally. Error is #1938.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 23, 2010
02:46 PM
With the exception of incorrect information populated in the tables of your MSI package, there isn't much that we can do about this behavior. You may try validating your MSI package to ensure that no validation errors or warnings are flagged for tables such as MsiAssembly and MsiAssemblyName. If this doesn't provide any information, you may try contacting Microsoft directly for additional assistance, as the MSI documentation for these tables and installing assemblies to the GAC does not address anything concerning the physical locations in the GAC assemblies may be copied to, nor is there anything addressing installation of 32-bit or 64-bit assemblies.
If there is an issue with the assembly information populated in the MSI package that is the cause of this behavior, please let us know so that this can be addressed.
If there is an issue with the assembly information populated in the MSI package that is the cause of this behavior, please let us know so that this can be addressed.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 23, 2010
03:25 PM
I'm going to email them directly to see how they did it. All i know is when i try to put a 64 bit dll, which is marked as a 64 bit component, in a 64 bit templated MSI, it crashes with error 1938.
I'll investigate further and post back if anything comes from it.
I'll investigate further and post back if anything comes from it.