TechEd: DEV364 Windows Forms 2.0: Deploying Applications Using ClickOnce

The presenter for this was Jamie Cool.

I was late to this session, but I stil picked up some interesting things.

The presenter had just set the permission set of the application to Intranet and he tried this code:

system.io.file.deletefile("c:\boot.ini");

It failed to delete his boot.ini due to the permission set of code access security that his application had after being click once deployed.

When application set for semi trust it will leave out certain disallowed methods from intellisence such as on "Dim f as sytem.io.fileinfo".
When running a pulished application the warning dialog now has a show information to tell you more about why the dialog appeared.

System.Deployment namespace has API's associated with Click Once
You can customise which parts of the application are downloaded before the application runs.
Demo a custom check for update menu option which you can do with these API's.

put this in a menu option to get a check for update button in your application.
{
ApplicationDeployhment deploy = ApplicationDeployment.CurrentDeployment.

if (deploy.CheckForUpdate())
{
 MessageBox.SHow("update found");
 deploy.Update();
 MessageBox.Show("updated");
 Application.Restart();
}
}

Add this code and run, doesn't find any updates.  Change the colour of the window and republish.  Go back to the app and choose the menu option.  Amazing to see this work with so few lines of code.

He also demod on-demand.  Which was an application with multiple modules as groups of assemblies.

To use ClickOnce in the May 2004 Community Tech Preview that's being handed out at TechEd US 2004, set:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DeploymentFramework "SkipSignatureValidation"="True"

And check out www.WindowsForms.net for stuff to come.