Zsolt Kollarits
Posts: 342
Joined: Fri May 29, 2015 10:36 am

GAC problem

Dear Advanced Installer Support Team,

I would like to achieve the following: adding 2 DLLs (with the same name), an x86 and an x64 version, to the setup and install them to the proper GAC area too.
So we would like the x64 DLL to appear in
C:\Windows\Microsoft.NET\assembly\GAC_64
and the x86 version to appear in
C:\Windows\Microsoft.NET\assembly\GAC_32

I'm attaching our .aip file too. Also 2 files are attached about our settings.

The x86 file appears in the correct place, however the x64 file appears in GAC_MSIL folder, which is NOT correct for us.

Best regards,
Zsolt Kollarits
Attachments
For AI.zip
(522.66 KiB) Downloaded 75 times
Zsolt Kollarits
Posts: 342
Joined: Fri May 29, 2015 10:36 am

Re: GAC problem

Hi Advanced Installer Support Team,

Do you have any news on this topic, we are stuck on this, and cannot put DLLs into the GAC_64 folder yet.

Thank you,
Zsolt
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: GAC problem

Hello Zsolt,

First of all, please accept my apologies for the delayed reply on this.

I was out of office for a few days due to not being well and I marked this thread with "work" before leaving, thus why my colleagues did not respond here.

If possible, could you please create a sample project which reproduces this behavior and forward that to me so I can run some tests and further investigate this?

You can simply add the DLL in a sample project and forward that (the project and the required binaries so I can build the project) to me by email at support at advancedinstaller dot com.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Zsolt Kollarits
Posts: 342
Joined: Fri May 29, 2015 10:36 am

Re: GAC problem

Dear Catalin,

In my first email I sent our complete .aip file. Is it looks fine for you? We are just curious why the files which are marked with "amd64" in the Assemblies page (in the attributes table, the ProcessorArchitecture attribute is synced and automatically using the amd64 value) are installed into the GAC_MSIL subfolder in C:\Windows\Microsoft.NET\assembiles area, and why not going into the GAC_64 subfolder.

I hoped you have just a quick recommendation for us :) For us it seemed to be logical that if we use (in ProcessorArchitecture attribute)
x86 -> then the file goes to GAC_32 -> this is WORKING
msil -> then the file goes to GAC_MSIL -> this is WORKING
amd64-> then the file goes to GAC_64 -> this is NOT WORKING, file still goes to GAC_MSIL

Or else we should stop synchronizing that attribute with the file and we should explicitly use "x64" value there? Would you recommend that?

Best regards,
Zsolt
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: GAC problem

Hello Zsolt,

I have indeed had a look over the project and it looked configured just fine.
We are just curious why the files which are marked with "amd64" in the Assemblies page (in the attributes table, the ProcessorArchitecture attribute is synced and automatically using the amd64 value) are installed into the GAC_MSIL subfolder in C:\Windows\Microsoft.NET\assembiles area, and why not going into the GAC_64 subfolder.
To be quite honest with you, I'm curious why that happens as well. :)

That's why I have asked for a smalled sample that reproduces this so I can run some tests on my end and further investigate the behavior.
Or else we should stop synchronizing that attribute with the file and we should explicitly use "x64" value there? Would you recommend that?
I would definitely give that a try and see what happens.

I am not quite sure what the difference is between amd64 and x64, though.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Zsolt Kollarits
Posts: 342
Joined: Fri May 29, 2015 10:36 am

Re: GAC problem

Dear Catalin,

In the past our big .aip file was usually enough to see if we are doing something wrong, also we would like to really know why our installer that is generated by our big .aip is not working. We just really need some help from you to understand what is the difference between amd64 and ia64.

If we change the value to ia64, then the DLLs are going to the proper place, tot he GAC_64 folder, however we are not sure if this is a valid step to do, because so far we have never ever disabled the synchronization of the processor architecture property for a DLL, and those DLLs are determining amd64 as processor architecture if the sync is ON.

So we need some guidance here whether it's okay if we manually set IA64 by disabling the sync. Also if IA64 is set, what will happen on PCs with AMD 64-bit processors?

Best regards,
Zsolt
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: GAC problem

Hello Zsolt,

Unfortunately, I can not really tell what the difference between those two is.

If possible, please forward me a sample project that reproduces this by email at support at advancedinstaller dot com so I can further test and investigate this on our end.

The sample should contain on DLL that is correctly installed and registered and one that goes in the MSIL folder despite you setting AMD64 for it.

From what I understood so far, MSIL is a folder for DLLs that can be used by both 64 and 32-bit apps.

However, I would like to further test and investigate this on my end.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”