The gacutil story is that it isn't actually part of the core redistributable for the 1.0 or 1.1 frameworks. (It did show up in one of the service packs to 1.0, but that may have been unintentional. ) If you install the SDK you'll get it of course, but if you look at the base install for the framework redist runtime, it's not there. This can be verified by doing the install or looking at the file list in the internal netfx.msi files. So I think Richter is right on that one. I've also heard a couple of times from people who have asked MS whether they can use it. that gacutil cannot be redistributed.
I've seen people using System.EnterpriseServices.Internal.GacInstall(). It's not documented (other than Reflector ;-)) so it's probably also unsupported. Phil Wilson -----Original Message----- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Alex Smotritsky Sent: Friday, August 12, 2005 9:21 PM To: [email protected] Subject: [ADVANCED-DOTNET] FW: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi Fusion.dll is in both 1.0... and 1.1... framework directories on my xp pro machine with 1.0 and 1.1 of the framework installed so it looks like fusion may be available on any machine with the .net framework on it -- that rocks if it's the case. -----Original Message----- From: Alex Smotritsky [mailto:[EMAIL PROTECTED] On Behalf Of Alex Smotritsky ([EMAIL PROTECTED]) Sent: Friday, August 12, 2005 9:12 PM To: 'Unmoderated discussion of advanced .NET topics.' Subject: RE: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi That does help. It narrows down potential issues maybe to just machines that only have 1.0 and it might be reasonable for us to say we require 1.1 to be on the box, thanks a lot. -----Original Message----- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Jerry Dennany Sent: Friday, August 12, 2005 6:05 PM To: [email protected] Subject: Re: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi I've used it with Win2K / .Net 1.1 Framework, if that helps any... -Jerry Dennany -----Original Message----- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Alex Smotritsky Sent: Friday, August 12, 2005 7:13 PM To: [email protected] Subject: Re: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi It's a snap with FusionInstall.cs, thanks! It works on a 2003 server with a fresh install (no sdks and stuff). I just hope it works on a win2k machine with a fresh install and the .net framework, I'm optimistic. Thanks again! -----Original Message----- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Jerry Dennany Sent: Friday, August 12, 2005 2:48 PM To: [email protected] Subject: Re: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi I use the fusion API to install files into the GAC - it works great for me. Check out FusionInstall.cs. I don't know if it's included with the platform SDK, but it is included with Visual Studio. Here's where it may be found on a typical VS.NET 2003 installation: C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples\Technologies\Interop\Advanced\comreg -Jerry Dennany -----Original Message----- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Alex Smotritsky Sent: Friday, August 12, 2005 4:24 PM To: [email protected] Subject: Re: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi Shelling out to gacutil would be great, I just ran an msdn calculator example with the Shell function. I think I unfortunately may be correct about gacutil though. Jeffrey Richter's book that I mentioned says: "The GACUTIL.exe tool doesn't ship with the end-user .NET Framework redistributable package. ... MSI is the only tool that is guaranteed to be on end-user machines..." -----Original Message----- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Adam Sills Sent: Friday, August 12, 2005 11:40 AM To: [email protected] Subject: Re: [ADVANCED-DOTNET] installing an assembly into the gac without gacutil or msi In addition, you are incorrect in your assumption that GACUTIL is a part of the SDK. It's installed anytime that .NET is installed (so it's available any time the below solution is available; not *with* Windows, but with .NET), so you're free to shell out to it. You can use %WinDir%\Microsoft.NET\Framework\<version>\gacutil.exe, or you can use the GetCORSystemDirectory method documented here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenre f/html/grfungetcorsystemdirectory.asp Adam.. > -----Original Message----- > From: Unmoderated discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Russell > McClure > Sent: Friday, August 12, 2005 1:22 PM > To: [email protected] > Subject: Re: [ADVANCED-DOTNET] installing an assembly into the gac > without gacutil or msi > > Alex, > > Here is the documentation for the GAC API: > > http://support.microsoft.com/default.aspx?scid=kb;en-us;317540 > > > Russ > > -----Original Message----- > From: Unmoderated discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Alex > Smotritsky > Sent: Friday, August 12, 2005 10:58 AM > To: [email protected] > Subject: [ADVANCED-DOTNET] installing an assembly into the gac without > gacutil or msi > > I know msdn has a page that says there are 2 ways to install an > assembly into the gac: gacutil or msi but that's not exactly correct. > > > > It's also possible to do this by simply dragging an assembly into > C:\WINDOWS\assembly to install and deleting it from there to > uninstall. > This > is documented in Applied Microsoft .NET Framework Programming by > Jeffrey Richter and I've done it, it works (I know it's not robust). > > > > I'm now trying to programmatically put an assembly into > C:\WINDOWS\assembly from a winforms app to install the assembly. This > is generating an exception (System.UnAuthorizedAccessException > occurred in mscorlib.dll. > Access to the path is denied.) > > > > This is on my development box where I'm logged in as Administrator. I > don't know why it's happening and I think I should be able to get > around it perhaps by changing the user that my winforms app runs as > from within the app or something like that. I'd like to know if anyone > knows how to get around this problem. Changing the permissions on that > directory is not an option - I'm taking the quick and dirty approach > here but not that quick and dirty :-). > > > > I don't want to use gacutil because it doesn't come standard with > windows, it comes with one of the sdks and we may need to install our > assembly on a windows box without gacutil on it. > > > > I'm trying to avoid using an msi because it's harder to work with msi > then winforms and I prefer quick and dirty for the current situation. =================================== This list is hosted by DevelopMentor. http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentor. http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentor. http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentor(r) http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
