PDA

View Full Version : Problems updating our software via webupdate



NewsArchive
02-09-2017, 01:50 AM
So, I created a new update as I always do, let it upload to our folder
on our website. When I went to test it after it downloaded many files
(There are 640), it timed out.

I figured something is wrong with our web (we are at a2hosting.com) and
waited until Monday.

Same problem. Tried it on a couple of customer machines, same problem.
Then I found out some of our websites weren't available. Called tech
support at A2 and they said everything is fine... and when we looked, it
was OK. However, went to try the update again.. same problem, timed out,
and not always in the same place.

Our hosting A2 had us run a trace, gets some timeouts. We're going to
replace our router. Although I'm still not sure why replacing our router
would affect someone else in another part of the country.

So, I'm posting this in hopes that someone here might have some idea's
as to what to look for.

Also, I noticed when the update fails due to a timeout, the program asks
to do a rollback, which I do, and I think it's ok. However, the program
after that times out and says it cannot find the manifest file when
trying to do another update. I have to reinstall the old version so I
can test it some more.... so I'm thinking there might be a glitch in the
rollback.

Going to buy a new router tonight. Then I'll upload the update again,
try to update and see what happens.

Thanks for listening.. I'll keep this updated on the progress in case
this happens to someone else.
--
Ray Rippey
VMT Software

NewsArchive
02-09-2017, 05:26 AM
Hi Ray,

> Also, I noticed when the update fails due to a timeout, the program asks
> to do a rollback, which I do, and I think it's ok. However, the program
> after that times out and says it cannot find the manifest file when trying
> to do another update. I have to reinstall the old version so I can test it
> some more.... so I'm thinking there might be a glitch in the rollback.

Do you mean wupdate.exe/wucheck.exe can't find the manifest file on the
server -or- the manifest file on the client (if you are using "Store
Properties in INI File" iDeploy WebUpdate option? If it can't "find" the
manifest file on the server after it failed with a timeout then it can't
connect to your server. The rollback will never remove anything from your
server.

I'll make another post here on how to do a WebUpdate the cool and safe way.

Friedrich

NewsArchive
02-09-2017, 06:33 AM
Hi Ray,

> Also, I noticed when the update fails due to a timeout, the program asks
> to do a rollback, which I do, and I think it's ok. However, the program
> after that times out and says it cannot find the manifest file when trying
> to do another update. I have to reinstall the old version so I can test it
> some more.... so I'm thinking there might be a glitch in the rollback.

Okay, here are some tips and tricks to make a web install procedure rock
solid:

** INITIAL V1.00 INSTALL **

1. The "CoolAppInit.sbp" project makes the "CoolApp" application
WebUpdate-ready by installing and registering the WebUpdate clients
(wupdate.exe and wucheck.exe).

2. The test installs five "dummy" files (file1.txt .. file5.txt).

** WEBUPDATE to bring V1.00 to V1.10 **

1. The "CoolAppUpdate.sbp" project brings the already installed Version 1.00
to Version 1.10.

2. It detects the previous version via standard methods (Line 38-43).

3. The *initial* and *update* projects are using the *SAME* uninstall .log
and .exe names. This enables the "smart" uninstall/rollback feature.

4. The update project can bring the uninstall .exe to the latest version
("Overwrite Existing Uninstall Application" option enabled in Line 65).

5. The update downloads and installs new versions of "file1.txt",
"file2.txt" and "file4.txt". It does not touch "file3.txt" and "file5.txt".

6. The "Set Delayed File Install" feature is enabled (Line 72 and 76). This
lets you download all required files *before* starting the real file
installation process.

Okay, to test the failed update scenario (and the rollback feature), I make
"file4.txt" inaccessible on the server. The web update installer can't
download it - it's similar to your timeout error.

The installer detects this error and performs a smart rollback.

After that, I make "file4.txt" (server-side) accessible again. I can start
wupdate.exe and this time it downloads and installs the update without any
problem.

Friedrich

NewsArchive
02-10-2017, 07:33 AM
> Okay, here are some tips and tricks to make a web install procedure rock
> solid:

Thanks Friedrich.... I've been using the wupdate and wucheck for years
and in many different ways... it has made our software look very very
professional. I saw a couple of things I'll try.. one is the start and
stop... I always wondered why we had all of those files instead of just
one.. I'm sure there's a reason.. but downloading them first then
installing seems like a great idea.

Thanks,

--
Ray Rippey
VMT Software

NewsArchive
02-10-2017, 07:35 AM
Ray,

> Thanks Friedrich.... I've been using the wupdate and wucheck for years
> and in many different ways... it has made our software look very very
> professional. I saw a couple of things I'll try.. one is the start and
> stop... I always wondered why we had all of those files instead of just
> one.. I'm sure there's a reason.. but downloading them first then
> installing seems like a great idea.

:-)

The web installer only downloads what is needed for a specific machine. One
essential difference between web installer updates packages and traditional
installers is a web installer update package does not contain all of the
information needed for a full installation. Rather, it contains the
incremental differences between the base version and the revised version, in
much the same way as backup utilities generate new backups after the first
by adding or modifying only those elements that have changed.

If you have 640 files in your web update then 640 files changed between your
first "initial" (base) installation and your "latest" web update, right?

Let us assume, "Customer A" always makes sure that he is running the latest
version of your product. He only needs 22 out of the 640 updated files to
bring his installation to the latest build. But "Customer B" only updates
twice per year and needs 345 out of the 640 files. And "Customer C" updates
once per year and he needs all 640 files. The web installer technology
handles the "smart" download process automatically behind-the-scenes for
you.

If you want *one* large update file then "unmark" the "Enable Web
Installation" and it will compile a single-file .EXE update with all your
640 files included.

Friedrich