Application Deploy Problem with UAB 2.0

Topics: Updater Application Block
May 6, 2005 at 4:12 AM
originally posted by: CFMcConnell

Hi--

I followed the (very helpful) UAB 2.0 example in

http://www.codeproject.com/csharp/VanillaUpdaterBlock.asp#xx1096698xx

Unfortunately, for our large (2 MB) application...and on just a few machines, the Application Deploy part does not work. The Download part works fine, every time. Wait for Exit seems to work every time. In fact, on most PCs, everything works !

I can't debug the App Deploy part easily because the DOS script window closes automatically before I can see what's going on. And the PostApplicationExit TASK file in the \UAB\registry folder (and which presumably drives that DOS script) is compiled, so there's no way to experiment. Or is there a way?

Surely I am missing the easy way to debug and resolve this. Can someone give me some hints on either keeping the script window open (so I can see the errors), or showing me how to edit the ApplicationDeploy code? BTW, a log file would be handy for UAB, wouldn't it?

Thank you!!!
May 7, 2005 at 1:33 AM
originally posted by: AnuragRastogi

Hi,

I would suggest you to make few changes in your application just to debug ApplicationDeployProcessor on the machines where it is not working. For debugging you have to make the update happen before application launch instead of after application exit.

In this case you can specify only "ApplicationDeployProcessor" in the Manifest.xml.

<activation>
<tasks>
<task name="ApplicationDeployProcessor" type="Microsoft.ApplicationBlocks.Updater.ActivationProcessors.ApplicationDeployProcessor, Microsoft.ApplicationBlocks.Updater.ActivationProcessors"/>
</tasks>
</activation>

The above approach will just help you debug and found the issue on specific machine, though I know that your requirement is to update on Application exit.

You can refer to Simple AppStart Quicstart as a reference to implement the above approach.
May 7, 2005 at 8:16 PM
originally posted by: CFMcConnell

Thank you for your suggestion, but isn't the root cause the interaction between Wait for Exit and Application Deploy? If so, a boot-strap surely will work, but it won't fix the more desirable InProc approach.

As I stare at the DOS screen (flashing momentarily) I can just imagine it saying that the files to replace still are busy. Also, I note that our faster PCs seem to have no trouble with UAB, but our slower ones do have trouble.

Is there any way to add a delay-timer to Wait for Exit, or to force Application Deploy to be a little more deliberate? I tried Configuring our application name (from Windows Task Manager) in "Process name" within the Wait for Exit processor, but that caused App Deploy to not fire at all (no DOS screen). Now I'm really confused...

Thank you very much again for your help.

Chris