PDA

View Full Version : wupdate.exe



NewsArchive
10-15-2009, 02:17 AM
Friedrich,

This is the program that is giving me the manifest errors. Seems this is
created during the compile process. When run, it seems to be looking in the
wrong folder on my server (best guess) and thus the message.

What part of my project do I need to check to ensure its looking at the
correct location when run? Is it the HOST_ADDRESS & HOST_DIRECTORY or just
the FTP_LOCATION? Both of these are nearly the same value.

The files are uploaded to the correct locations. This used to work, but I
don't see where I messed this up.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:19 AM
Hi Russ,

> This is the program that is giving me the manifest errors. Seems this is
> created during the compile process. When run, it seems to be looking in
> the wrong folder on my server (best guess) and thus the message.
>
> What part of my project do I need to check to ensure its looking at the
> correct location when run? Is it the HOST_ADDRESS & HOST_DIRECTORY or
> just the FTP_LOCATION? Both of these are nearly the same value.
>
> The files are uploaded to the correct locations. This used to work, but I
> don't see where I messed this up.

No, wupdate.exe is not created during the compile process. wupdate.exe (and
wucheck.exe) are the "standard" web update clients.

I assume it looks at the wrong location because you have provided an
incorrect Product GUID?

wupdate.exe (or wucheck.exe) checks the following registry key to detect the
Product GUID:

HKEY_LOCAL_MACHINE\Software\Lindersoft\WebUpdate\A ppPaths

If the Product GUID is detected, it reads the server connection parameters
from the following key:

HKEY_LOCAL_MACHINE\Software\Lindersoft\WebUpdate\A pps\<YOURGUID>

Friedrich

NewsArchive
10-15-2009, 02:20 AM
I think that is the problem - the GUID is not in the registry. I'll try a
refresh and see it that helps.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:20 AM
> I think that is the problem - the GUID is not in the registry. I'll try a
> refresh and see it that helps.

Make sure that is correctly handled from your config file!

It should look like this in your script:

! Set Product GUID
#const $MY_PRODUCT_GUID$ = Get Value from INI file: [CUSTOMER_CONFIG_FILE]
#set compiler variable [MY_PRODUCT_GUID] = "$MY_PRODUCT_GUID$"

And in your config file:

[$MY_PRODUCT_GUID$]
Value={0D89E370-B30F-11DE-4823-0EA434670029} <-- your own GUID here

Friedrich

NewsArchive
10-15-2009, 02:20 AM
I don't have anything like that in my script. When I made a config file, is
the GUID ignored? I'm a little confused here. If I understand you
correctly, I need to add this to my script and config file as you explained
here PLUS I need to insert these variables in [PRODUCTGUID] and
[UPGRADEGUID]?

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:21 AM
Hi Russ,

> I don't have anything like that in my script. When I made a config file,
> is the GUID ignored? I'm a little confused here. If I understand you
> correctly, I need to add this to my script and config file as you
> explained here PLUS I need to insert these variables in [PRODUCTGUID] and
> [UPGRADEGUID]?

The code I posted in my previous message is from the demo script that I
uploaded some days ago -- perhaps you forgot to copy this part over to your
project?

All your different products need a unique Product GUID. So you definitely
have to read it from your config file to compile a valid installation.
Otherwise, all your installations for completely different products have the
very same Product GUID. Not allowed in Windows.

Friedrich

NewsArchive
10-15-2009, 02:21 AM
OIC - thanks, that makes sense now. I can change one of the scripts to a
new GUID.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:22 AM
Added those script items and entry to the config file and still getting
errors during the update check. Also, the GUID is never placed in the
target machine's registry during the install. Testing on XP.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:22 AM
> Added those script items and entry to the config file and still getting
> errors during the update check. Also, the GUID is never placed in the
> target machine's registry during the install. Testing on XP.

Then you are doing something wrong. Check the "SimilarInstall.sb7" demo and
compile it. You'll see that the items are created (see attached
screenshot -- this is from the Radfusion.txt SKU).

Friedrich

NewsArchive
10-15-2009, 02:23 AM
I'll have to do a closer inspection then. That works here as well.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:24 AM
> I'll have to do a closer inspection then. That works here as well.

Russ,

Once you solve your "problem", if you haven't already, I'd suggest you take
a good look at this product:

Product Description - SetupCast, MFG - LANSRAD
Internet Link - http://www.setupcast.com/

It really automates the process of uploading, taking care of webupdates,
etc very well!

For now, you need to make a slight change in your SetupBuilder 7 report -
that SetupCast depends on (AFTER you have compiled your main SB install,
and AFTER you have compiled your related webupdate install)

Change the SB7 report file that SetupCast depends on - change the 7.0
reference to 6.9.2587 as in the following lines of code from the SB7 report
- both for main and webupdate SB7 reports

<td Width="20%" bgcolor="#EBEBEB"><font size="2" face=Verdana, Arial,
Helvetica, sans-serif>SetupBuilder Compiler:</font></td>
<td bgcolor="#EBEBEB"><font size="2" face=Verdana, Arial, Helvetica,
sans-serif>6.9.2587</font></td>
<tr>

David

--
From David Troxell - Product Scope 7.9 - Encourager Software
Product Scope 7 Viewer - NO Registration Fee! Free to Use!
http://www.encouragersoftware.com/
Clarion Third Party Profile Exchange Online
http://encouragersoftware.com/profile/clarlinks.html
http://www.profileexchanges.com/blog/

NewsArchive
10-15-2009, 02:31 AM
> Added those script items and entry to the config file and still getting
> errors during the update check. Also, the GUID is never placed in the
> target machine's registry during the install. Testing on XP.

Russ,

Are you testing from the installed folder on the target machine?

A common pitfall during development is to try and run the web update off
your development machine without installing the program there (or from the
development folder instead of the installation folder).

As Friedrich said, when the wupdate.exe (or wucheck.exe) fetches the
information in the Registry to check for an update it starts here:

HKEY_LOCAL_MACHINE\Software\Lindersoft\WebUpdate\A ppPaths

looking for the Product GUID.

Then it also compares the path stored there to wupdate.exe to where
wupdate.exe was started from.

If they are not the same - you get an error.

Does that help?

Charles


--
-------------------------------------------------------------------------------------------------------
Charles Edmonds
www.clarionproseries.com - "Get ProPath, make your Clarion programs ready
for Windows 7 and Vista!"
www.ezchangelog.com - "Free ChangeLog software to manage your projects!"
www.setupcast.com - "A revolutionary new publishing system for software
developers - enhanced for SetupBuilder users!"
www.pagesnip.com - "Print and Save the Web, just the way you want it!"
www.clarionproseries.com - "Serious tools for Clarion Developers"
www.ezround.com - "Round Corner HTML tables with matching Banners, Buttons
and Forms!"
www.lansrad.com - "Intelligent Solutions for Universal Problems"
www.fotokiss.com - "World's Best Auction Photo Editor"
-------------------------------------------------------------------------------------------------------

NewsArchive
10-15-2009, 02:32 AM
I've been doing real installs on a Vista and XP machine. The problem is the
ProductGUID is never written to the registry and I've no idea why. It used
to do this and I don't see any differences, but one must exist.

Besides, you need to do a real install or wupdate.exe does not exist <g>.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:33 AM
> Besides, you need to do a real install or wupdate.exe does not exist <g>.

You'd be surprised at how many E-mails I get from people and it turns out
that the copied the wupdate.exe to their development folder to test being
able to RUN it from within the app.

It fails (as expected) and they wonder why<g>

That's why I mentioned it.

:-)

Charles


--
-------------------------------------------------------------------------------------------------------
Charles Edmonds
www.clarionproseries.com - "Get ProPath, make your Clarion programs ready
for Windows 7 and Vista!"
www.ezchangelog.com - "Free ChangeLog software to manage your projects!"
www.setupcast.com - "A revolutionary new publishing system for software
developers - enhanced for SetupBuilder users!"
www.pagesnip.com - "Print and Save the Web, just the way you want it!"
www.clarionproseries.com - "Serious tools for Clarion Developers"
www.ezround.com - "Round Corner HTML tables with matching Banners, Buttons
and Forms!"
www.lansrad.com - "Intelligent Solutions for Universal Problems"
www.fotokiss.com - "World's Best Auction Photo Editor"
-------------------------------------------------------------------------------------------------------

NewsArchive
10-15-2009, 02:34 AM
Charles,

> You'd be surprised at how many E-mails I get from people and it turns out
> that the copied the wupdate.exe to their development folder to test being
> able to RUN it from within the app.
>
> It fails (as expected) and they wonder why<g>

I've not used wupdate.exe so I don't know if it fails gracefully.<g>

Here are a couple of examples of things I do when a program is not
called correctly so the user is aware that nothing BAD happened...


Lee White (Lodestar)

NewsArchive
10-15-2009, 02:35 AM
Hi Russ,

> I've been doing real installs on a Vista and XP machine. The problem is the
> ProductGUID is never written to the registry and I've no idea why. It used
> to do this and I don't see any differences, but one must exist.
>
> Besides, you need to do a real install or wupdate.exe does not exist <g>.

Check the main install not the web update and make sure that the "Enable Web
update" and "Install Web Update Client" are checked and properly set up.
Without the "Enbale Web update" nothing will be written to the registry.
Also make sure that "Execution Level" is set to requireAdministrator in the
"General Information | Generator".

Best regards,

--
Arnór Baldvinsson - Icetips Alta LLC
Port Angeles, Washington
www.icetips.com - www.buildautomator.com - www.altawebworks.com

Icetips product subscriptions at http://www.icetips.com/subscribe.php

NewsArchive
10-15-2009, 02:36 AM
Friedrich,

I can confirm the GUID as described below is not added to the registry
during the install process. I can confirm the GUID is set during compile.

#const $PRODUCT_GUID$ = Get Value from INI file: [CONFIG_FILE]
#set compiler variable [PRODUCTGUID] = "$PRODUCT_GUID$"
#msg "GUID: [PRODUCTGUID]"

Under the Compiler Variables list, [PRODUCTGUID] is set to $PRODUCT_GUID$

Something else I can try?

>
> I assume it looks at the wrong location because you have provided an
> incorrect Product GUID?
>
> wupdate.exe (or wucheck.exe) checks the following registry key to detect
> the Product GUID:
>
> HKEY_LOCAL_MACHINE\Software\Lindersoft\WebUpdate\A ppPaths
>
> If the Product GUID is detected, it reads the server connection parameters
> from the following key:
>
> HKEY_LOCAL_MACHINE\Software\Lindersoft\WebUpdate\A pps\<YOURGUID>
>
> Friedrich
>

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:40 AM
> I can confirm the GUID as described below is not added to the registry
> during the install process. I can confirm the GUID is set during compile.
>
> #const $PRODUCT_GUID$ = Get Value from INI file: [CONFIG_FILE]
> #set compiler variable [PRODUCTGUID] = "$PRODUCT_GUID$"
> #msg "GUID: [PRODUCTGUID]"
>
> Under the Compiler Variables list, [PRODUCTGUID] is set to $PRODUCT_GUID$
>
> Something else I can try?

See the "SimilarInstall.sb7" demo <g> and the attached screenshots.

Works as expected ;-)

Does this help?

Friedrich

NewsArchive
10-15-2009, 02:41 AM
I know. :-( But mine does not add the GUID and I don't see why. I've two
instances of SB7 running side-by-side and going through each section, I
don't see any reason why mine is not creating the registry entry. The
values are there during compile time.

I'd throw a brick at my head if I thought it would help <g>.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:42 AM
Hi Russ,

> This is the program that is giving me the manifest errors. Seems this is
> created during the compile process. When run, it seems to be looking in the
> wrong folder on my server (best guess) and thus the message.

Make sure that your ProductGUID is the SAME in your product install (full
install) and your webupdate install! If not, the webupdate can't find the
install/version information from the product install.

Best regards,

--
Arnór Baldvinsson - Icetips Alta LLC
Port Angeles, Washington
www.icetips.com - www.buildautomator.com - www.altawebworks.com

Icetips product subscriptions at http://www.icetips.com/subscribe.php

NewsArchive
10-15-2009, 02:42 AM
Good point. Noted. I think the config file covers me there, but worth
checking.

However, there is no webupdate project for the sample SimilarInstall
project, yet its putting a GUID in the registry as part of the actual full
install process. My understanding is that wupdate.exe requires this value
so it can lookup the details of where the update can be found (they are
placed under this GUID).

In my current script, everything is working except the GUID is never written
to the registry when I do a test install. Therefore wupdate.exe fails as it
has no information on where to find stuff. I don't see any differences of
note in the two scripts, except mine never writes the GUID entry required.

I'm still baffled.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:43 AM
Hi Russ,

> Good point. Noted. I think the config file covers me there, but worth
> checking.

It MUST be the same or the webupdate can't find the information from the
main install. Don't know what config file is.

> install process. My understanding is that wupdate.exe requires this value
> so it can lookup the details of where the update can be found (they are
> placed under this GUID).

Yes.

> In my current script, everything is working except the GUID is never written
> to the registry when I do a test install. Therefore wupdate.exe fails as it
> has no information on where to find stuff. I don't see any differences of
> note in the two scripts, except mine never writes the GUID entry required.

See my previous post - make sure that the Web Deployment is set up correctly
in the MAIN install.

This is actually very simple process (I have no idea why/what you are doing
with those script commands, I just use the "Web Deployment" options in the
Visualizer.

1. You set up the information in your MAIN install, using the "Web
Deployment" options.

2. You create your web update, making sure that the ProductGUID matches
with the MAIN install. You set up the "Web deployment" and set the
information correctly for the "Enable Web Installation" and "Enable web
update" etc.

3. You install the main install and this will prepare your machine to be
updated.

4. Compile and deploy the web update.

That's really all there is to it:)

Best regards,


--
Arnór Baldvinsson - Icetips Alta LLC
Port Angeles, Washington
www.icetips.com - www.buildautomator.com - www.altawebworks.com

Icetips product subscriptions at http://www.icetips.com/subscribe.php

NewsArchive
10-15-2009, 02:44 AM
Got this going on at the beginning:

#include script "Common Definitions.sbi"
#get file info(File Version [Resource]) from "C:\Clarion
Projects\RadFusion\Killer\KillerApp.exe" into [PRODUCTVER]
#msg "Current Version: [PRODUCTVER]"

The version number is retrieved properly. Don't think that would make a
difference, but its one difference between the two projects. Here is how I
set my GUID:

#const $MY_PRODUCT_GUID$ = Get Value from INI file: [CONFIG_FILE]
#set compiler variable [MY_PRODUCT_GUID] = "$MY_PRODUCT_GUID$"
#msg "GUID: [MY_PRODUCT_GUID]"

This is getting the ProductGUID from the CONFIG_FILE.

In the compiler variables visualizer [PRODUCTGUID] is set to
[MY_PRODUCT_GUID]

The config value is set like so:

[$MY_PRODUCT_GUID$]
Value={15B7A240-B8D1-11DE-72AE-30F7AD112CD6}

What am I missing that is obvious?

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-15-2009, 02:46 AM
Hi Russ,

>
> What am I missing that is obvious?
>

Make sure that:

1. "UAC Execution Level" is set to "requireAdministrator" (General
Information -> Generator Settings)

2. "Enable Web Update" is marked (Web Deployment)

3. "Install Web Update Client" is marked (Web Deployment) and "Store
Properties in INI File" is set to "No"

You should have a 'Include Web Update Client "[SB_LIB]\wupdate.exe"' line in
your [ Modify System ] section now (see attached).

Do you have all the above?

Friedrich

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

SetupBuilder is Windows installation -- "point. click. ship"

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
10-16-2009, 02:10 AM
Yeah <g>. Do have to cover the obvious stuff first.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:11 AM
Arnor,

Sorry, I left out a lot of data. This is a project that was running
perfectly, until I converted it to a SKU project. Only thing not working is
wupdate.exe because of no GUID.

I can't see what I changed, but obviously I did something <g>.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:14 AM
See the SimilarInstalls project Friedrich attached in one of his messages
for the config file. I needed to convert this install from a static package
to one that will install similar editions based on client.

Only thing not working (when it used to) is wupdate.exe from the main
install project. I've not even looked at the webupdate project yet, must
get the main one debugged first.

>
> It MUST be the same or the webupdate can't find the information from the
> main install. Don't know what config file is.
>
> See my previous post - make sure that the Web Deployment is set up
> correctly
> in the MAIN install.
>
> This is actually very simple process (I have no idea why/what you are
> doing
> with those script commands, I just use the "Web Deployment" options in the
> Visualizer.
>
> 1. You set up the information in your MAIN install, using the "Web
> Deployment" options.
>
> 2. You create your web update, making sure that the ProductGUID matches
> with the MAIN install. You set up the "Web deployment" and set the
> information correctly for the "Enable Web Installation" and "Enable web
> update" etc.
>
> 3. You install the main install and this will prepare your machine to be
> updated.
>
> 4. Compile and deploy the web update.
>
> That's really all there is to it:)
>
> Best regards,
>
>
> --
> Arnór Baldvinsson - Icetips Alta LLC
> Port Angeles, Washington
> www.icetips.com - www.buildautomator.com - www.altawebworks.com
>
> Icetips product subscriptions at http://www.icetips.com/subscribe.php

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:20 AM
Friedrich,

This one setting was enough to keep it from writing the GUID to the
registry. That is now working! (always the little things <g>). The values
even look correct.

After compiling and uploading the update portion and then running
wupdate.exe still getting the manifest not found (after cleaning out the ftp
folder and re-uploading everything). Error 5060. I can download the INI
manifest file in a browser, so its not a MIME issue.

This sounds like maybe something I've missed in the config file or setting
up a wrong variable (typo again?).

> Hi Russ,
> 3. "Store Properties in INI File" is set to "No"

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:20 AM
Russ,

> This one setting was enough to keep it from writing the GUID to the
> registry. That is now working! (always the little things <g>). The
> values even look correct.

;-)

> After compiling and uploading the update portion and then running
> wupdate.exe still getting the manifest not found (after cleaning out the
> ftp folder and re-uploading everything). Error 5060. I can download the
> INI manifest file in a browser, so its not a MIME issue.
>
> This sounds like maybe something I've missed in the config file or setting
> up a wrong variable (typo again?).

Error 5060 is an "unspecified" error. It was not possible to connect to
your server to download the file. This can be caused by a firewall problem
(client site), IIS problem (MIME type not available), etc., etc.

If you are sure that it is not a IIS issue, then it's your firewall <g>.

Friedrich

NewsArchive
10-16-2009, 02:26 AM
OK, then I think I'm going to use the firewall features and punch my way
through <g>.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:36 AM
OK, got the exception in and it still errors out. Could it possibly be
looking for a file that does not exist? That would make sense if my fat
thumbs are the root cause.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:36 AM
> OK, got the exception in and it still errors out. Could it possibly be
> looking for a file that does not exist? That would make sense if my fat
> thumbs are the root cause.

Yes, if the file does not exist then you'll also get a 5060 error. I did
not mention this because I assumed that it does exist on ypur server <g>

Friedrich

NewsArchive
10-16-2009, 02:37 AM
Any suggestions on how to display the file name it expects? During compile
or runtime?

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:39 AM
> Any suggestions on how to display the file name it expects? During
> compile or runtime?

It's defined in the HOST_INI registry value. See attached screenshot.

So if you know the Product GUID, you can read HOST_INI to retrieve the name
of the manifest file.

Friedrich

NewsArchive
10-16-2009, 02:39 AM
Thanks. Darn. Its correct. So is the GUID.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:40 AM
>
> Thanks. Darn. Its correct. So is the GUID.
>

Just for fun, create dummy project via New | Blank Script and use "Download
File (HTTP)..." script function to download your manifest file. Then check
the %_SB_ERRORCODE% value. What does it report?

Friedrich

NewsArchive
10-16-2009, 02:41 AM
Returns 0 (once I let it through the firewall <g>)

-
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:41 AM
>
> Returns 0 (once I let it through the firewall <g>)
>

Perfect. Then the file is in your temporary folder now <g> It's not a MIME
issue.

wupdate.exe does exactly the same (using the very same HTTP component). So
if your firewall does not block your wupdate.exe and the parameters of your
dummy.exe and your wupdate.exe are identical, then it will work. If it does
not work, your firewall blocks wupdate.exe or the parameters are incorrect
<g>.

Friedrich

NewsArchive
10-16-2009, 02:42 AM
Spot on observation!

It was the user account and password! Now works!

Thanks for sticking with me on this.

--
Russell B. Eggen
www.radfusion.com
Clarion developers: www.radfusion.com/devs.htm

NewsArchive
10-16-2009, 02:42 AM
> Spot on observation!
>
> It was the user account and password! Now works!
>
> Thanks for sticking with me on this.

You are very welcome :)

Friedrich