Background Update of GAC Assemblies

M

Mark Olbert

I have an app which uses a set of strong-named class libraries. I want to include an automatic update feature in the application. I
can't use BITS because several of my clients use Windows ME and I don't believe BITS is supported on ME. I put together a simple
service which downloads updated assemblies.

Ideally, I'd like to deploy the class libraries to the GACs on my clients' machines. However, if I do that, is there a problem with
installing the downloaded updated files to the clients' GACs using gacutil (which I presume I would also have to distribute)?

- Mark
 
M

Mattias Sjögren

Mark,
Ideally, I'd like to deploy the class libraries to the GACs on my clients' machines. However, if I do that, is there a problem with
installing the downloaded updated files to the clients' GACs using gacutil (which I presume I would also have to distribute)?

No you don't necessarily need Gacutil. Can't you package the
assemblies in an MSI file and run that to install them into the GAC?


Mattias
 
M

Mark Olbert

Mattias,

Because I'm trying to minimize the size of the download (some clients don't have broadband) the set of files that get downloaded is
variable (I create a zip file on the fly, download it, and then unzip and install on the client machine).

Your idea would work if I could easily create MSI files on the fly. From what I've seen, though, creating an MSI file
programmatically is not for the faint of heart :).

- Mark
 
M

Mattias Sjögren

Mark,
Your idea would work if I could easily create MSI files on the fly. From what I've seen, though, creating an MSI file
programmatically is not for the faint of heart :).

I'm sure you could automate WiX if you really wanted to.
http://sourceforge.net/projects/wix/

Another option is to create your own tool that uses the Fusion APIs to
install the assembly.
http://msdn2.microsoft.com/en-us/library/ms233169(en-US,VS.80).aspx
http://support.microsoft.com/?kbid=317540
http://blogs.msdn.com/junfeng/articles/229648.aspx

I don't think Gacutil is redistributable.


Mattias
 
F

Frans Bouma [C# MVP]

Mattias said:
Mark,


I'm sure you could automate WiX if you really wanted to.
http://sourceforge.net/projects/wix/

Another option is to create your own tool that uses the Fusion APIs to
install the assembly.
http://msdn2.microsoft.com/en-us/library/ms233169(en-US,VS.80).aspx
http://support.microsoft.com/?kbid=317540
http://blogs.msdn.com/junfeng/articles/229648.aspx

I don't think Gacutil is redistributable.

It's recommended to either use the fusion apis or the distributable
gacutil and shell out to that tool and do the install that way than to
use an .msi installer and install the gac assemblies through the .msi
installer as there's a bug in older versions of ms installer which can
make an assembly uninstallable from the gac (dangling reference
counters).

FB


--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top