Self Updating App in .Net 2.0

Topics: Updater Application Block
May 10, 2005 at 10:05 PM
originally posted by: TimHaughton

If I understand the roadmap correctly, there are no plans to release a version of the updater application block to work with .Net 2.0. I'm aware that .Net 2.0 includes the new click once installation model, which is fine for apps that require lesser permissions. From what I understand, apps that require more permissions still rely on the msi technology for installation. Does this mean that if you require a self updating app in .Net 2.0 you have to port the updater app block? Or is there functionality within .Net 2.0 that allows for self updating msi-installed apps?

Regards,

Tim Haughton
May 12, 2005 at 10:47 AM
originally posted by: TimHaughton

To answer my own question:

Just read the pertinent article on MSDN:

http://msdn.microsoft.com/smartclient/default.aspx?pull=/library/en-us/dnwinforms/html/clickoncetrustpub.asp

One can configure trusted publishers which can give Click Once deployed applications elevated privledges. Problem solved.

Regards,

Tim Haughton
May 14, 2005 at 2:03 AM
originally posted by: InfiniteLoop

Except your users will be hit with a dialog that prompts them for permission to install the app. In some cases, depending on the "zone", the dialog will simply say the app cannot be installed at all.

To get around this, you have to have your publisher's certificate pre-installed on the machine so your app will be trusted. How are you going to do that? I read an article that suggested using the Bootstrapper to run certmgr.exe to install your certificate, but certmgr.exe is in the .NET SDK and is not redistributable.
May 14, 2005 at 9:07 AM
originally posted by: TimHaughton

Like you say, you can get around the prompting by correct policy and certificate management. I don't really have a problem with a user running an msi which does nothing other than install the certificate and so on.

The software I create runs on dedicated machines, so the initial configuration I can manage.