PDA

View Full Version : Web updates


NewsArchive
02-09-2005, 04:14 AM
[Tuesday, February 08, 2005 4:39 PM]

Hi Friedrich,

Ok, I'm building my dream install<g> I need my program to go check if
there are updates on the web. How do I do that with SB5? I need to
be able to call that from my program based on certain conditions.
Doable? If so, how? And where is my help!?<g>

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA

NewsArchive
02-09-2005, 04:14 AM
[Tuesday, February 08, 2005 5:47 PM]

Hi Arnór,

Okay, here we go ;-)

The first step is to configure the iDeploy WebUpdate client. This gives
your software the ability to check a specified location on the Internet
for updates.

A. Install the WebUpdate Client
-------------------------------

1. Create your script and develop your installation (files, registries,
etc.).

2. Go to the Web Deployment screen.

3. Check the "Enable iDeploy WebUpdate" checkbox.

4. Configure the Web Update page (right pane).

Host Address - This specifies the domain name or IP address of the Web host
that will hold the installation files. For example, www.mysite.com

Host Port - Enter the port that should be used on your web server. The
default is 80.

Host Directory - Enter the directory name on the host that stores the
WebUpdate configuration file. If your files are located on the root, please
leave the field blank. For example, mydir.

Host User Name - Enter the user name required to log on to the server. If
this field is left blank, an anonymous logon will be performed.

Host Password - Enter the password required to log on to the server.

Update Filename - Enter a name for the configuration file for WebUpdate.
You must use the same file name when you use WebUpdate in the future. For
example, myapp.ini.

Product Version - Enter the version of the current installation. This
version is stored in the configuration file specified in the Update Filename
field. For example, 5.0.1040.0

5. Go to the Script Editor and add the "Include WebUpdate Client..." script
item to, say, the [ Modify System ] section. Enter [SB5_LIB]\wupdate.exe
in the Web Client File field. This will link-in the standard WebUpdate
client. You can compile and include your own wupdate.exe versions. The
wupdate Client executable is compiled from a SetupScript. In the
Redist\1033 directory within the SetupBuilder Installation System
application directory, you'll find the installation script that compiles
it (wupdate.sb5).

6. Compile your script. This will install the web client along with your
software.

7. Upload your installation file (e.g. setup.exe) and the configuration file
(e.g. myapp.ini) to your web server.


A few hours later <g> you have to ship an update.


B. Create a Web Update
----------------------

I would suggest to develop a "dynamic" webupdate. The WebUpdate Client
downloads a "dynamic" WebUpdate image (does not include any files). This
dynamic WebUpdate image can retrieve just the pieces needed for the user's
specific requirements.

1. Create a new script.

2. Open the General Information dialog
a. I would suggest to use the same Product GUID here.
b. Set the Executable File Name, e.g. update_1041.exe
c. Set [UNINSTALL] to %_SB_INSTALLDIR%\Uninst_tmp.exe
d. I would suggest to disable the Add/Remove Programs support
e. Enable "Remove Installer after Successful Installation
f. Enable "Remove UnInstaller after Successful Installation

3. Add updated files, etc. It's a good idea to add "Start Delayed File
Install" and "Stop Delayed File Install" around your files (see
screenshot).

4. Go to the Web Deployment screen.

5. Check the "Enable iDeploy WebUpdate" checkbox and configure the Web
Update page (right pane). See above A.
But now enter a higher Product Version, e.g. 5.0.1041.0

6. To develop a "dynamic" webupdate, check the "Enable iDeploy WebInstall
and configure the Web Install page (right pane). Same as 5.

7. Go to the Script Editor and double-click the "Create Installation Log"
script item. Enter %_SB_INSTALLDIR%\uninst_tmp.log in the Create
installation log field.

8. How to detect the installation folder?

You can use the following code. Add it after the following line:

Set Variable %_SB_BACKUPDIR% to %_SB_INSTALLDIR%\BACKUP

Set Variable %_SB_INSTALLDIR% to Detect Previous Version
("{4D910660-BBBC-11D8-6784-02015E7D18BE}")
If %_SB_ERRORCODE% Equals "0" Then
Message Box "The WebUpdate application failed to detect a previ..." --
"Previous Version Detection Failed"
Exit Installation
End

Please replace "{4D910660-BBBC-11D8-6784-02015E7D18BE}" with your Product
GUID

I would suggest to ask the user to close an active application. You can
also kill it from within your script.

Set Variable %SB5ACTIVE% to Detect Active Application(sbuilder.exe)
If %SB5ACTIVE% Equals "1" Then
Message Box "sbuilder.exe is currently running. Please close th..." --
"Application currently running"
End

Please replace sbuilder.exe with your application file name.

9. Compile your script.

All your files are now located in the \Web subfolder. Upload your
installation file (e.g. update_1041.exe), the cluster files
(update_1041.0001, etc.) and the configuration file (e.g. myapp.ini) to
your web server.

Your application can now start wupdate.exe (located in the root of your app)
to check for updates.

This is what we use check for updates from within the SB5 IDE:

LOC:WebUpdateClient = GLO:GetModuleFilePath & '\wupdate.exe'
RUN('"' & LOC:WebUpdateClient & '"')

Documentation and example scripts will be available soon. There will also
be a simple to use installation and WebUpdate wizard to handle all the
dirty work.

Of course, you can also handle interval checking.

I hope the above is not too confusing. Please let me know if there are
questions!

Thanks,
Friedrich

Friedrich Linder
www.lindersoft.com
Fax: 1.954.252.3910

NewsArchive
02-09-2005, 04:15 AM
[Tuesday, February 08, 2005 6:44 PM]

Hi Friedrich,

>Okay, here we go ;-)

Awsome - now where is the video???<g>

Seriously, you may want to consider doing some simple tutorial videos
when things calm down (yeah, I'm an optimist<g>) I have found that it
is incredibly how much information you can pack into a short tutorial
video.

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA

NewsArchive
02-09-2005, 04:15 AM
[Wednesday, February 09, 2005 2:29 AM]

Just my 2 cents. I would opt for good written docs first, with
appropriate screen shots. They can always be printed and checked off
and referred to. So far, I haven't found much use for video
presentations of this sort. On the other hand, I have seen some good
video that gives an overview of feature sets, but leaves the details
of how to use those features to more traditional docs.
-- Thanks, Roger Due

NewsArchive
02-09-2005, 04:16 AM
[Wednesday, February 09, 2005 3:32 AM]

Hi Roger,

>Just my 2 cents. I would opt for good written docs first, with
>appropriate screen shots. They can always be printed and checked off
>and referred to. So far, I haven't found much use for video
>presentations of this sort. On the other hand, I have seen some good
>video that gives an overview of feature sets, but leaves the details
>of how to use those features to more traditional docs.

Tutorial videos are quite a challenge to do well! You are absolutely
right, they can never replace documentation, but if done well, they
can be a huge help.

This is a link to my first tutorial attempt. I never did finish it so
it's quite raw.

http://www.icetips.com/videos/icetips_previewer.html

After messing with this for a while I came to the conclusion that a
minute a day is not bad for production and that a 5 minute video could
tell as much as 25 pages of documentation. But there are several
things that must be considered. First of all the video MUST have
audio! Absolutely, without exception. Second it must be concise.
Cut out everything that isn't needed. Half a second is a _long_ time
to wait for something to happen. Cut out the hourglass sessions<g>

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA

NewsArchive
02-09-2005, 04:16 AM
[Wednesday, February 09, 2005 8:40 AM]

Hi Friedrich,

Now regarding this webupdate which is also my main pb with my present
installer... :
I have a multi dll exe's and from time to time (3rd party updates ) dll's to
update

Is it possible to have the web update set to only download the necessary
files (changed version or date or crc or...) INDIVIDUALLY ?
Meaning there is a log of what has been installed at the clients system and
if the web update finds only 3 dll's have been changed to only download and
install those 3 files ?
Otherwise each time it is a 45 Mb download....or 35 in better cases!
How to ? :)

Many thanks

jean-Pierre

NewsArchive
02-09-2005, 04:16 AM
[Wednesday, February 09, 2005 9:31 AM]

Hi Jean-Pierre,

Yes, that's possible and we are already doing this in the SB5 WebUpdate
process ;-) For example, the SB5 WebUpdater can update build #1014, #1019,
#1021, #1022, #1030, #1033, #1037, and #1040). The installer can retrieve
just the pieces needed for the user's specific requirements! You can even
create multi-version binary patches. The description (see below) creates
such a "dynamic WebUpdate" image.

Friedrich

--
Friedrich Linder
www.lindersoft.com
Fax: 1.954.252.3910

NewsArchive
02-10-2005, 12:39 AM
[Wednesday, February 09, 2005 3:33 PM]

Hi Arnor,

That is an excellent video. What also struck me is that these videos would
be an excellent sales tool for your products. Or mine.<bg> What did you
use to do it? If they aren't *too* time-consuming to do, I'd urge you to
make more to advertize your products. One of your Icetips Wizards might be
too much for us to refuse.<bg>

--
Best Regards,

Dean Burgess

NewsArchive
02-10-2005, 12:40 AM
[Wednesday, February 09, 2005 9:37 PM]

Hi Dean,

>That is an excellent video. What also struck me is that these videos would
>be an excellent sales tool for your products. Or mine.<bg> What did you
>use to do it? If they aren't *too* time-consuming to do, I'd urge you to
>make more to advertize your products. One of your Icetips Wizards might be
>too much for us to refuse.<bg>

I used several tools to do this.

First of all is Camtasia Studio which I use to bring all the pieces
together and compile the final results. Excellent software although
when I started with it about a year ago it had some nasty bugs in it,
but the TechSmith guys worked those out very quickly.

For the initial recordings of screens etc, I used Camtasia's Screen
recorder. Then I use Video Edit Magic (http://www.deskshare.com) to
do the rough editing of the video files. It has a bit simpler
interface than Camtasia, but more features in terms of transitions and
effects. I used this to take the camtasia recorded videos in and edit
out any garbage, make transitions etc. etc.

For audio I used Acoustica MP3 Audio Mixer (http://www.acoustica.com)
You can have up to 8 tracks going at the same time, which makes audio
transitions etc. very simply to make. For example in the intro I
bought some audio track (I don't remember where, but I can dig it up
if you like) that I mixed in with voice recording.

Voice is an absolute must for this. It both gives a personal feel for
what you are watching and it also adds a LOT to the educational value
because you can explain exactly what is going on on the screen. I
tried out a few microphones etc. before I settled with Plantronics
.Audio 90 headset with microphone for about $35. It has excellent
speakers with great base and a very good microphone. Good enough for
voice recognition according to a guy who bought one on my
recommendation for recording and VR.

http://www.compusa.com/products/product_info.asp?product_code=288459&pfp=SEARCH

http://www.plantronics.com/north_america/en_US/productSearch/prod440020?prodfind=true

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA

NewsArchive
02-10-2005, 12:40 AM
[Thursday, February 10, 2005 12:06 AM]

Arnor,

Have any examples you could share? I'm looking into this myself. Found
www.articulate.com to be an excellent product, although a bit pricey.
Looked at other products, but the visual quality was quite lacking.

--
Russ Eggen
www.radfusion.com

NewsArchive
02-10-2005, 12:41 AM
[Thursday, February 10, 2005 12:33 AM]

Hi Russ,

>Have any examples you could share? I'm looking into this myself. Found
>www.articulate.com to be an excellent product, although a bit pricey.
>Looked at other products, but the visual quality was quite lacking.

http://www.icetips.com/videos/icetips_previewer.html

That's the only video that I have done and put up. Articulate looks
quite expensive and I'm not sure you get that much for it. I found
that Video Edit Magic works quite well, but it does not come with a
recorder, you can buy that separately. For $60 or $70 it is pretty
good value for money. Camtasia is pretty good, but I found VEM better
to do the raw editing of the recorded videos, then bring them into
Camtasia for editing and adding audio.

There is also RoboDemo but I didn't look at that, think that is in
similar price range as Articulate. Camtasia was about $300 if I
remember correctly. Well worth it IMO, but I'd still go with the two
other tools for video and audio editing. With these 3 you can get
pretty good results:)

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA
www.icetips.com
arnor@icetips.com

NewsArchive
02-10-2005, 12:43 AM
[Thursday, February 10, 2005 12:39 AM]

> It has a bit simpler
> interface than Camtasia, but more features in terms of transitions and
> effects. I used this to take the camtasia recorded videos in and edit
> out any garbage, make transitions etc. etc.

My understanding is that Camtasia's codec is what makes their video
files so small. If you edit the video in something else, you have to
render it again - don't you lose the high level of compression?

--

Dave

NewsArchive
02-10-2005, 12:43 AM
[Thursday, February 10, 2005 2:05 AM]

Hi David,

>My understanding is that Camtasia's codec is what makes their video
>files so small. If you edit the video in something else, you have to
>render it again - don't you lose the high level of compression?

I work with AVI files in Camtasia and VEM and then output from
Camtasia to SWF files. I record in Camtasia recorder to AVI files.
56 seconds of recorded AVI is 2,487,296 bytes. 2 minute, 25 second
video in SWF is 1,146,206 bytes.

My experience is that the audio is the important part. Adding audio
to the video increases the size considerably. Finding the balance
between relaticely good audio output and file size can be tricky.

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA