Sample of Application Launcher Controller?

Topics: Updater Application Block
May 14, 2004 at 7:32 AM
originally posted by: darragh

The User Manual for the UAB talks about an "Application Launcher Controller," where you create a custom version of AppStart.exe that "includes the controller functionality to start and stop the controller." The Quick Start Samples do not include an example of how to do this. Anybody know of a working sample for this type of configuration?

Thanks,
John Darragh
May 18, 2004 at 3:18 AM
originally posted by: kodjo

I need to add the application configuration information to the client configuration file.
May 18, 2004 at 3:23 AM
originally posted by: kodjo

You need to add the application configuration information to the client configuration fie.
This will be valid sample of client configuration file.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="appUpdater" type="Microsoft.ApplicationBlocks.ApplicationUpdater.UpdaterSectionHandler,Microsoft.ApplicationBlocks.ApplicationUpdater" />
</configSections>
<appUpdater>

<UpdaterConfiguration>

<polling type="ExtendedFormat" value="* * * * *" />

<logListener logPath="D:\Works\Projects\poste\Client\UpdaterLog.txt" />

<!-- **************** BITS DOWNLOADER **************** -->
<downloader
type="Microsoft.ApplicationBlocks.ApplicationUpdater.Downloaders.BITSDownloader"
assembly="Microsoft.ApplicationBlocks.ApplicationUpdater,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" />

<!-- **************** THE RSA KEY HASHING VALIDATOR **************** -->
<validator
type="Microsoft.ApplicationBlocks.ApplicationUpdater.Validators.RSAValidator"
assembly="Microsoft.ApplicationBlocks.ApplicationUpdater,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
<key>
<RSAKeyValue>
<Modulus>s4zdd1fur9s7o1TNopaLHo203t3Z7RXe57SG5UZBu0aT2r/WgIwnLt01v96UG5jzWV8wo6QZYXgx1NfYY/MCpOq9Yc8QuLf9CbnhM/kiKmxO17pfr17TljfDN3lJfsxbghSVDM2xaq8heEvkCvHUjShI9NcWNhOJJMPxQo2r8=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</key>
</validator>

<application name="SportelloMain" useValidation="false">
<client>
<baseDir>D:\Works\Projects\poste\Client</baseDir>
<xmlFile>D:\Works\Projects\poste\Client\AppStart.exe.config</xmlFile>
<tempDir>D:\Works\Projects\poste\Client\newFiles</tempDir>
</client>
<server>
<xmlFile>http://localhost/WebSportelloRelease/SportelloMain/SportelloMainManifest.xml</xmlFile>
<xmlFileDest>D:\Works\Projects\poste\Client\SportelloMainManifest.xml</xmlFileDest>
<maxWaitXmlFile>60000</maxWaitXmlFile>
</server>
</application>

</UpdaterConfiguration>
</appUpdater>
</configuration>
May 20, 2004 at 11:25 AM
originally posted by: darragh

The scenario I'm talking about is described in the UAB documentation in Section "Deployment and Operations | Deploying the Updater Application Block | Deploying Application Launcher Controllers." In this case the application configuration info you mention actually goes in the AppStart.exe.config file, and you use some sort of customized version of AppStart.exe, NOT the one that ships with UAB.

I am currently using the "self-updating configuration", but it is pretty clumsy, since you actually launch the obsolete version on the client machine before it runs the app, which, in turn, runs the updater, which determines that that app is out-of-date, then presents the user with a warning that they need to exit the application and re-start it. It would seem that with the Application Launcher Controller, the launcher would check for the new version before launching the old version, so the application could be updated, if necessary before launching the obsolete version, without bothering the user with the details or interrupting their work ten seconds after they launch the application.

Unfortunately, there does not seem to be any documentation on how to actually implement the Application Launcher (i.e., re-write AppStart to act as both the controller and launcher), other than a brief mention that it can be done in the section cited above.

Thanks,
John Darragh
Jul 2, 2004 at 8:38 AM
originally posted by: willr3

darragh:
I'm doing that very thing right now. Basically all you need to do is edit the AppStart.cs file so that it has an ApplicationUdateManager and hook in some event listeners if you want (look at how the Console example notifies you when the different events occur).
Next, you have to change App.config in the same manner that was described above. From there it should work just fine.
Oct 9, 2004 at 4:52 AM
originally posted by: RagingKore

I'm starting to implement UAB and I have the same situation.

I don't want to seam lazy but is there a "ready-to-run" sample that you can post or send by email?

Thank you

Sergio Silveira

PS- Pardon me for my english