PDA

View Full Version : Understanding Web Update



Esperient
06-19-2008, 11:09 AM
Hi,

I’ve been trying to get my head around the Web Update for a while now (thanks to Friedrich for your helpful emails), but I just can’t seem to understand something. Our application rather large, 1200 files, 156MB total size.

Let me try to explain my question:

Our original 3.0 application is Web Deployed and works fine.
SB builds: OurApp.exe + OurApp.ini + OurApp.00001-OurApp.01200 files.
All of files are copied to www.ourwebsite.com\webinstall
A new user runs www.ourwebsite.com\webinstall\OurApp.exe to Web install our product.

Now its time to do 3.1 as a Web Update, so I follow the instructions in the “Web Update Development (the manual way)” to create a 2nd "Update" .sb6 file.
SB builds: OurApp.exe + OurApp.ini + OurApp.00001-OurApp.01200 files.

Here is where I have a problem.
If I copy all these new 3.1 files to www.ourwebsite.com\webinstall, what happens when a NEW user (who never installed 3.0) runs www.ourwebsite.com\webinstall\OurApp.exe? Since *this* installer is for an “Update” and such things as “Add Remove Programs” are disabled, we clearly don’t want a new user this OurApp.exe for a first time install.

Should I be using two separate directories for Web Install and Web Update? Since all of the OurApp.00001-OurApp.01200 files appear to be the same, I don’t “think” this is the case, but maybe so? That’s a lot of extra server space and seems like a waste.

The docs seem to “hint” at a different "update" .exe name “(e.g. myapp_101.exe)”, but following the instructions in the docs don’t mention anything about this. If I change the [EXENAME] it changes the names of all of the .0xxxx files, and I'm back to two sets of .0xxxx files.

Lastly, the docs also say: “Upload your installation file (e.g. myapp_101.exe) and the Server Manifest File (e.g. myapp.ini) to your web server.” But there is no mention of the .0xxxx files, surely these need to be copied to the server as well.

Thanks for any help. I’m sure I’m just missing something.

Mike

Esperient
06-19-2008, 04:17 PM
OK, after a lot more experimenting, I figured out part my confusion:

“Web Update Development (the manual way)” in the SB docs means:

Starting with a *brand new* .sb6 file, these are *not modifications* to my "Initial Deployment" .sb6 file. I humbly suggest a clarification in the docs might help others :-). Another suggest might be to clarify web deployment takes two .sb6 files, InitialDeployment.sb6 and WebUpdate.sb6, as talked about in this post:
http://www.lindersoft.com/forums/showthread.php?t=4544&highlight=web+update


I'm still left with my original concern:

Let us assume, I an "Initial Deployment" as:

File (Version)
------------------
coolapp.exe (1.00)
readme1.txt (1.00)
readme2.txt (1.00)
readme3.txt (1.00)


Now I have a new version I want to Web Deploy:

File (Version)
------------------
coolapp.exe (1.10)
readme1.txt (1.00)
readme2.txt (1.00)
readme3.txt (1.00)
readme4.txt (1.10) << ADDED NEW FILE


Which .sb6 file do I add the new file readme4.txt to, the InitialDeployment.sb6, WebUpdate.sb6 or both?

Thanks,
Mike

linder
06-20-2008, 01:58 AM
Hi Mike,


Which .sb6 file do I add the new file readme4.txt to, the InitialDeployment.sb6, WebUpdate.sb6 or both?

To both projects!

In fact, you always make all modifications in both projects. The WebUpdate.sb6 updates the existing installations to the latest version. The "initial" InitialDeployment.sb6 is for new installations (or updates if the customer does not have access to the Internet for web updates).

For example, in our own SetupBuilder product. When a new build becomes available, we always provide new "full" and "web update" images.

Does this help?

Friedrich

Esperient
06-20-2008, 10:49 AM
Hi Friedrich,

Thank you for your response.


To both projects!

Hmmm, this is where things get really painful for us. Let me explain... Our install has 1,200 files we will often add many new files between updates. The basic installer works great, in the File Properties > File linking > Source File name - we just use *.* for certain directories.

With what you are telling me, we need to keep track of "every" new file, sample, image, or whatever that each developer or artist might add between versions. Yikes, lots of room for mistakes!

I know about the "Compare Directories" feature, but I have tried this and it is also painful for us. This would mean we would need to "manually" use the SB IDE to sort through all the changes between updates and keep trees of install files for all versions – (I prefer to just keep the installers). Our build process for a new version is 100% automated and having to sort out the "new" files really isn't going to work for us.

Maybe I'm over simplifying this "Web Update" process, but it seems to me that SB should be able to make a InstallWebInstall.exe *AND* InstallWebUpdate.exe from a single .SB6 file. Like this:

InstallWebInstall.exe - would be a *full* web install like it does now.

InstallWebUpdate.exe - would install a web *update*. To make this file SB would *automatically* change the following in the .SB6 project:

1. Set "Check File (CRC)" for all files and only install files on the end users machine that have changed.
2. Make the changes recommended in the docs section: "Web Update Development (the manual way)”
3. Remove all the UI dialogs.
4. Use the *same* data .00xxx files as the main InstallWebInstall.exe does.

Am I missing something? Is this possible?

It seems this would make the Web Update a lot easier.

Thanks,
Mike

linder
06-20-2008, 12:15 PM
Mike,

It will never be possible to have one .sb6 that provides the full install and a web update. Not in the upcoming SetupBuilder 7 nor in SetupBuilder 99 <g>. The "initial" (full) install and the (incremental) web update are completely different projects (per definition!). Not only in SetupBuilder, but in all tools that have a live-update feature. I think there is still some confusion on how web update works - but at the moment I don't now exactly where the misunderstanding is in this case. We have a meeting today and we'll brainstorm your case. I hope I will have a better answer tomorrow. Sorry for that.

We have some customers with 9,000+ files in the install and web update can handle this without any problem.

A web update does not contain all of the information needed for a full installation (1,200 files in your case). It contains the incremental differences between the base version and the revised version. Let us assume, you have 200 modified files between version 1.00 and 1.50 (or whatever) then your web update includes only those 200 files.

But wait. Perhaps in your case, you change 800+ files out of the 1,200 files in a very short period of time? Is this the "real" problem? You do not change 100 files out of the 1,200 files in 6 months, but 800+ files in 1-2 months? If this is the case, let me know and I can tell you how to handle his scenario. If it is not the case, also let me know ;)

Sorry for the confusion.

Friedrich

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

"point. click. ship" - that's SetupBuilder
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

Esperient
06-20-2008, 01:09 PM
Thanks Friedrich, for your detailed response. I like SB a LOT and I appreciate you taking the time to listen to my problem.

I think you are starting to understand my problem. You should know that a lot of our 1,200 files are tiny, 1-2k in some cases. We will often provide new update weekly. We could easily change 200 files between updates. We might also *add* 50 new files between updates. SB works great because I can just tell the installer to include *.* in directory XYZ and all the files found are included in the build. Our developers and artists can add files at will to certain directories and these file are automatically included in the next build. The problem I have is when it comes to the Web Update - Manually sorting out what the rest of the team added or changed for the next update is really not an option. Our compiler and install building needs to be a fully automated process. Because the need to the automated process, the IDE Compare Directories command won’t work for us.

I have something that’s working, but it has its flaws, I have 2 .SB6 files:

FullWebInstall.SB6 – Full Install, and includes:
OurApp.exe – (Condition Set to: Always install)
ABC\*.* - (Condition Set to: Always install)
XYZ\*.* - (Condition Set to: Always install)


WebUpdate.SB6 – For the Web Update, and includes:
OurApp.exe – (Condition Set to: Check File (CRC))
ABC\*.* - (Condition Set to: Check File (CRC))
XYZ\*.* - (Condition Set to: Check File (CRC))

When the Web Update is run only all the changed files are updated on the users machine and this seems to be working well.

I don’t like having two separate .SB6 files, but I can live with that. But using my method, I really don’t like that both the WebInstall and the WebUpdate have basically the same set of .00xxx data files – this seems like a big waste.

I hope this makes more sense as to why I was asking for the option for a single .SB6 file to have a “Build a Web *Update* .exe too” :-).

Any suggestions you might have would be appreciated.

Thanks,
Mike

linder
06-21-2008, 03:41 AM
Hi Mike,

Yes, I think I understand the problem now and what you are saying makes complete sense. I'll give this some thoughts this weekend!

BTW, what's the total size of all the 1,200 files (compressed)?

Thanks,
Friedrich

Esperient
06-21-2008, 07:40 AM
BTW, what's the total size of all the 1,200 files (compressed)?

156MB


I'll give this some thoughts this weekend!

Thanks!!

If it helps you can install our application from here:
http://www.esperient.com/index.php?option=com_content&view=article&id=112&Itemid=54

Mike

linder
06-21-2008, 07:52 AM
Thank you, Mike. We are brainstorming ideas at the moment...

I'll keep you posted.

Friedrich

linder
06-21-2008, 08:07 AM
Mike,

By the way, I like you installation/update scenario very much. I really think there is room for improvements in this SetupBuilder area.

Thanks,
Friedrich

Esperient
07-03-2008, 02:51 PM
Hi Friedrich,

My solution I described seems to be working well, we just released a new Update Today. I was just wondering if you had anymore thoughts on this topic?

Thanks,
Mike

Esperient
09-09-2008, 09:32 AM
Hi Friedrich,

Any updates here? Maintaining separate installers is beginning to be more of a pain for us.

Thanks,
Mike

linder
09-09-2008, 10:17 AM
Mike,

No, not for SetupBuilder 6. Because the SB6 system works rock solid, it would be too risky to make major modifications (especially in this sensitive area).

Friedrich