> contained the ref I need, but surely it can not be the idea to find it > there.
I'm sure there's an API to get it, I just haven't run across it yet. Historically, this information is made available via fusion.dll. There's at least one sample of using fusion.dll in the .net sdk sample directory (search for fusioninstall.cs, I have one here[1], and you can get lots of documentation on the entrypoint signatures from fusion.idl & fusion.h in the rotor sources). So I think it's a matter of looking hard enough to find the api that the MMC snap-in is using. I've looked around a bit, but don't have anymore time to look into it. > > Again, asking for the properties of a gac-ed assembly using the .Net > Configuration MMC snap-in, nicely shows the path, even if > this file was > added /i only. > Yes, I just realized that /i alone seems to record the original install location as "URL" in the __AssemblyInfo__.ini file). The /ir flag appears to be intended to be used by installers that are taking care of the situation where more than one application is installing the same shared library into the gac and wants to make sure that their corresponding uninstallers don't removing something from the gac while another application still needs it. So on installation, /ir will be used by an installer (or you) to record the fact that your application has a "reference" to that library. Other applications will do the same thing. Uninstallers will then use /ur to remove their "reference" and then use /u to remove the assembly. Only when the last installation "reference" has been removed will the /u actually remove the assembly. If one or more 'references' still exist, /u doesn't remove the assembly from the cache. -Mike DevelopMentor http://staff.develop.com/woodring [1] http://staff.develop.com/woodring/dotnet/#enumcache
