Welcome Guest Search | Active Topics | Log In | Register

Deploying the AppLife Update Service with a Setup and Deployment Project Options · View
brianh
#1 Posted : Friday, September 03, 2010 12:06:35 PM
Rank: Administration
Groups: Administration, Member

Joined: 5/24/2007
Posts: 424
Location: Minnesota
  1. In Visual Studio, create a new project.  Select a Setup Project from the Other Project Types.



  2. Add the AppLife Update Windows Service Merge Module to the setup project. This merge module is located at {Applife Update Install Dir}\UpdateService\AppLifeUpdateService.msm






  3. Register your application by setting two merge module configuration properties.
    1. Select the merge module in the Visual Studio solution explorer.
    2. Expand the Merge Module properties node in the property grid.



    3. Set the Path property.

      Use the Msi variable that corresponds to the directory that your application executable will be installed in.  Typically this is the [TARGETDIR].  You can identify this variable by selecting the directory and viewing the Property Name.  The merge module path property is set using the directory property and the name of your application executable.

      [TARGETDIR]MyApp.ex



    4. Set the Public Key property.

      This value comes from your AppLife Update project file.  In Make Update, drop the Tools menu down and select to View Public Key.  Copy the entire public key and place it in the merge module public key property.


With these steps completed, the AppLife Update Windows Service will be deployed along with your application, and your application can utilize the service to run it's updates with elevated permissions.

 

For your application to use the service, the Update Controller ElevationType property must be set to AppLifeUpdateWindowsService.

Brian Haas
Kinetic Jump Software
Frank
#2 Posted : Friday, November 26, 2010 9:52:12 AM
Rank: Newbie
Groups: Member

Joined: 6/15/2009
Posts: 6
Hi Brian,

Thanks for the detailed description of setting up the update service. I have a question about one of the statements that I don't quite understand.

You said "With these steps completed, the AppLife Update Windows Service will be deployed along with your application, and your application can utilize the service to run it's updates with elevated permissions."

How do I get the update service deployed so it automatically installs when the main application is installed? I'm missing a piece of the process. I can include the service MSI in my update as a file that is put in the applications install folder, but I still must manually install it before it will work.

Is it possible to have the update service always looking for an update similar to the way Windows update works?

Thanks in advance.
brianh
#3 Posted : Friday, November 26, 2010 10:10:05 AM
Rank: Administration
Groups: Administration, Member

Joined: 5/24/2007
Posts: 424
Location: Minnesota

Hello Frank,

 

How are you installing your application?  Are you using an MSI?  If so you should be able to add this merge module to your application msi using whatever tool that you use to create the MSI.  The service doesnt need its own msi. This post simply used a Setup and Deployment project to illustrate how to add a merge module to an msi project. The specific prodedure might vary from tool to tool, but any MSI creation tool will support adding a merge module (msm).

 

Our service will not check for updates.  It is a shared resource who's sole purpose is to use the registered public key to validate an update package, and then elevate the AppLife Update engine worker process that will apply the update.  This worker process communicates with the user interface process as the update executes and looks identical to a non-serviced update, but has permissions.

 

You could certainly build a service that continously checks for updates, and this service could use AppLife Update for all of the updating work.  You would just use the Update Controller API within the service code to manage the updating process.  There is some work to accomplish this though, as a service cannot interact directly with a users window station, so you would need to build the communications piece as well.

Brian Haas
Kinetic Jump Software
Users browsing this topic
Guest
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.