Page 1 of 1

Data files or url links via web updates

Posted: Sun Jan 25, 2009 4:43 am
by tommykjensen
I am trying to get a data file to the target computer through web updates. It is not an exe file, a script or even a file that is associated with a program like .txt files etc. Also it is not a file that exists in the installation from the beginning. Using patch is not an option since that requires the use of uncompressed builds. I want to use single file builds.

The help does not say anything about this kind of files.

I have added the file in Update packs and connected it in Versions to the relevant version.

On the target machine when running the web update I do get a notification that an update is available and it apparently also downloads it and attempts to install it ( I see a command prompt open and close again really fast). But the file is nowhere to be found on the target system.

How do I do this?

Or what about sending an url like this http://www.installaware.com/ and have that open automatically ? If I can do that I can provide the data file update on a page like that.

Posted: Sun Jan 25, 2009 9:17 am
by MichaelNesmith
Patches work equally well with web builds - in fact they work best with web builds when the entire build is an offline web media block as source resolution is entirely automatic.

What you can do though is to customize your setup to directly copy that file onto the target folder using CopyFileA in kernel32.dll via Call DLL Function, when its running in patch mode; and then run that setup directly in your update pack.

The update pack runs whatever you tell it to (this can also be a document to be opened), but I think in your case the file is not executable and needs to be installed instead of run anyways.

Posted: Sun Jan 25, 2009 10:14 am
by tommykjensen
I can't get the update to open a text file.

As in the first example I added a text file in update packs. Its downloaded but the installer tries to run the text file as an exe file.

In the updates script I see a RUN PROGRAM $SUPPORTDIR$\\$UPDATE_NAME$.exe

which seems to indicate that an exe file is expected.

So how do I download a text file or show an online webpage as an update and have it open automatically?

Posted: Sun Jan 25, 2009 12:15 pm
by MichaelNesmith
I have already addressed this in the last paragraph of my prior post. May I suggest you read the web updates whitepaper to gain a fuller understanding of how web updates work. Thank you.

Posted: Sun Jan 25, 2009 12:25 pm
by tommykjensen
I already read that and it only deals with *.exe files as web updates. It does not mention anything about how to do this which you said is possible
The update pack runs whatever you tell it to (this can also be a document to be opened),

Posted: Sun Jan 25, 2009 1:45 pm
by MichaelNesmith
Hmm, did you read this part of the whitepaper as well?

Kinds of Updates

This document does not describe the creation of product updates themselves. There are no pre-set
limitations on what a product update might be comprised of. An update might be a full setup.exe file
that contains the full new version of your product; it might be a patch which upgrades older installed
product versions to newer versions; or any other custom executable file which updates your product to the
desired state when run:

• Full Product Installers: A full rebuild of your existing setup project can be served as an update to
your end-users. When run, setup will automatically uninstall the old product version, treating this
step as an installation prerequisite, and then move on to reinstall your application’s latest version.
Of course, this approach carries the drawback that your existing end-users have to download a full
version installer, when they already have some bits on their system within their existing product
installation.

• Binary Patches: If you would like to serve incremental binary patches instead, which contain
only the changed data between your product versions, please refer to the InstallAware whitepaper
“Using InstallAware to Patch Applications”, which describes how to create patches for your
products using InstallAware.

• Custom Programs: Alternately, an update may be a completely custom program file that carries
out any sequence of actions as required by your update scenario. It does not have to be a setup or a
patch, it does not have to be an InstallAware built file; nor does it need to update any files, registry
keys, and so on. You have complete freedom in running any executable program you wish, as long
as it performs the update operation you desire.

Continue to the next section once you have a couple of updates available for your application. For the
purposes of completing this guide, you may simply rebuild your existing setup project a few times without
changes, just to have several setup.exe files that serve as mock product updates. Before each rebuild,
just make sure to increment the Product Version field in your project, so InstallAware can keep track of
the changed “new version” numbers.

Posted: Sun Jan 25, 2009 3:14 pm
by tommykjensen
Yes I did and maybe my english is not good enough ( I am from Denmark) but I can't see where it tells me how to do it.

That section says it can be done not how its done.

Posted: Sun Jan 25, 2009 4:30 pm
by MichaelNesmith
Yes I suspect that either your English is poor or you are not reading my replies, I have already stated a way to implement what you need:
What you can do though is to customize your setup to directly copy that file onto the target folder using CopyFileA in kernel32.dll via Call DLL Function, when its running in patch mode; and then run that setup directly in your update pack.