Skip to main content

ClickOnce Information from User Group Meeting

 Information was presented by Kate Gregory of Gregory Consulting Limited (http://www.gregcons.com/). Kate is a Microsoft C++ MVP and a Regional Director. Her email address is kate@gregcons.com.

Tip 1
Download optional files asynchronously using ClickOnce and System.Deployment.Application.ApplicationDeployment

Here is some example VB code:

Public Class Form1
Private WithEvents ad As _
System.Deployment.Application.ApplicationDeployment
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

ad = System.Deployment.Application.ApplicationDeployment.CurrentDeployment

ad.DownloadFileGroup(“sales”)

End Sub

Private Sub ad_DownloadFileGroupCompleted(ByVal sender As Object, _
ByVal e As System.Deployment.Application.DownloadFileGroupCompletedEventArgs) _
Handles ad.DownloadFileGroupCompleted

Dim f As New OnDemandForm.OnDemandForm
f.Show()

End Sub
End Class

The solution has two projects where the form in the second project is named OnDemand. This form would be only downloaded as needed.

The key is to use the matching downloadFileGroup to the download group in the application files setup in the Publish tab under the solutions properties. 

Tip 2
Use a system like SMS or other computer control software to push the first install of an application. Then use ClickOne to manage future updates. The key here is to NOT push your application, but a stub that calls ClickOnce after the install to perform the first install. The VB.NET framework class that manages this is called InPlaceHostingManager.

Tip 3
Use an MSI to create the initial install. Use CorLaunchApplication class to start the application from ClickOnce network server using the manifest. There is not currently a lot of documentation on this functionality.

Tip 4
Use Server Side Extensions to manage multiple versions of the application. You can use ASP.NET to create application manifests on the fly to allow users to have different versions of the application. We could have all IS Application developer point to a test server and all others point to the production server. This needs to be setup before the first install is done.

Note: There is a command line tool called MAGE UI that can be run to edit the manifests. This is included in the .Net SDK and does not need Visual Studio installed to run.

Comments

Popular posts from this blog

Doing what you love and my 27 years at Cree/Wolfspeed

Working at the same company for 27 years is seen by some as bad for your career. Sure, I may have been able to make a little more money, but I do feel like I have mastered many of the skills I learned while working for Wolfspeed. And I don't think you truly understand a role until you have been submersed in it for a few years. When I started my career there were around 150 people working at Wolfspeed (then Cree Research). I started as a programmer, working on a shrink wrapped software application that controlled LED message signs. In my role, I worked on other software projects and was even involved in building an eight foot full color LED video screen. Very cool! Over the next twenty odd years, I have held many different roles and created some amazing things at Wolfspeed. I created the company's first public web page and also their first internal web portal. At last count, I have created over thirty five applications that are used for data parsing and analysis (and other needs

What Next?

 It's time. It's time to do something completely different. Starting in November, I will be retired from Cree/Wolfspeed where I have worked for over 27 years. I feel it is time to move on. With that said, I'd like to do something. Something other than software or database development. I'm not really sure what form it will take, but I am open to suggestions. I know that I don't want to sit at a desk all day. I'd like to do something that helps others or the environment. It doesn't have to be related to photography, but could be. If you have any ideas, let me know. Cheers, Wade