webupdate fails when there are no updates

Got a problem you cannot solve? Try here.
Post Reply
alexzakharov
Posts: 26
Joined: Thu Jun 22, 2006 5:50 pm

webupdate fails when there are no updates

Post by alexzakharov »

Hi, I duplicated the error I'm about to describe on a couple of machines for 2 different projects.

We are evaluating a number of install products and this is definetely a showstopper for InstallAware. Any help would be much appreciated.

I have a very simple project (created with a project wizard) that is configured to recieve web updates. The deployment type is "Web-Based EXE". I created the installer and I created 1 patch update.

I run the installer successfully
Then I run "myexe \\updatesetup" manually, followed by "myexe \\update" manually. as expected patch is downloaded and installed, succesfully.

But then when i run "myexe \\update" again i get the following error:
"Line 140: Access violation at address BLA in module ntdll.dll. Write of address BLA".
In my other project I get exactly the same error on the same line. The line (which I assume is in the "updates" script) is "SET Variable UPDATE_DETAIL to $UPDATE_NAME$$NEWLINE$$UPDATE_DETAIL_TEMP$)"

Seems like a rather severe bug, so I assume I must be doing something silly. Please help.
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Can you step through the update script line by line in the debugger, to see what is going wrong? You might have a mis-configured INI file.

You can set the CMDLINE variable using Set Variable to simulate passing in a command line parameter in the IDE.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
alexzakharov
Posts: 26
Joined: Thu Jun 22, 2006 5:50 pm

duplicated with debugger

Post by alexzakharov »

Michael,

OK, here is what happened:

1. I ran in debugger mode, set command line to "/updatesetup" to make sure all persistent variables are set correctly. So, I stepped through creationg of windows task and sure enough all went as expected.

2. In debugger mode, I ran while setting command line to "/update". Again all went as expected: I stepped through updates being detected, downloaded and installed and of course "installedupdates.dat" file got created.

3. In debugger mode, I ran again with "/update" switch. Stepped through and got the error I described earlier (i.e. "Access violation... in ntdll.dll"). The line that causes the error is this:
Get INI $SUPPORTDIR$\\updates.ini, [$UPDATE_NAME$] Description Value into Variable UPDATE_DETAIL_TEMP

It is indeed kind of odd - after all this line does get executed succesfully the first time i run \\update.

Anyhow my ini file is as follows:
[TriviUpdate]
URL=http://nycsperf1/twclientinstall/trivial/TriviPatch.exe
Description=whatever
Reboot=No
Silent=No
Parameters=
[Update Packs for Versions]
1.0=TriviUpdate

the project is literally trivial, no custom coding of any kind. basically it is a web based project with 1 text file, created with all the defaults with exception of me configuring it to recieve application updates from a http-based url.

PLEASE HELP. I do like the product, but am understandably concerned that right out of the box the basic update functionality doesn't work.
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

I believe I have figured this out for you. The problem is that the version number of the product is not being changed when the patch is being installed. And, the update script eliminates the list of previously installed updates from the DAT file, but it does not check if actually all updates for a version have been eliminated. To add this check, insert these lines:

Code: Select all

if Variable UPDATE_AVAILABLE Equals 
  Terminate Installation
end
on line 128 in your update script. You may copy-paste the above three lines starting on line 112 in your update script.

Rebuild your project, and all should be fine!
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
alexzakharov
Posts: 26
Joined: Thu Jun 22, 2006 5:50 pm

Post by alexzakharov »

Makes sense - I can see how the fix would work and in fact - it did. Thanks very much.
Post Reply