ClickOnce and GAC

clickoncegacinstallationuninstallation

I have WinForms application .net 3.5. I deploy it using clickonce in intranet with several client machines. I publish application in intranet web server (http://desbiz/CarwinClickOnce).

In developer environment (my PC), my application uses GAC assemblies, like Fk.Security.Common.dll v.1.0.0.0.

In tab Publish -> Application files in Properties of WinForms application csproj, I set value Include for Fk.Security.Common.dll reference.

Now,

some client machines have Fk.Security.Common.dll v.1.0.0.0 reference in GAC

others client have NOT Fk.Security.Common.dll v.1.0.0.0 reference in GAC

If the client installs the winform application using ClickOnce there are this issues:

1.) If Fk.Security.Common.dll v.1.0.0.0 reference is in GAC, the Fk.Security.Common.dll v.1.0.0.0 reference included in ClickOnce not apply.

Problem: perhaps compilde code in Fk.Security.Common.dll v.1.0.0.0 reference included in ClickOnce is more update than code in Fk.Security.Common.dll v.1.0.0.0 reference is in GAC

Solution: uninstall Fk.Security.Common.dll v.1.0.0.0 reference in GAC, and install in GAC the Fk.Security.Common.dll v.1.0.0.0 reference included in ClickOnce Publish…

(how can I uninstall/install assemblies in GAC using ClickoNce????)

2.) If Fk.Security.Common.dll reference NOT is in GAC, the Fk.Security.Common.dll v.1.0.0.0 reference included in ClickOnce apply. No problem.

note: the user in client machine has Administrator permissions.

Any solution about this issues ??

Thanks in advance.

Best Answer

ClickOnce cannot install or uninstall files in the GAC.

Did you write the Fk.Security.Common.dll? If so, increase the version number (v.1.0.0.1) and recompile it. When you reference it, set the "Specific Version" property to "True" and the "Version" property to your new version number. This should fix your problem without having to uninstall the old assembly from everyone's GAC.

Related Topic