Page 1 of 1

Spanning Multiple CD's, part two: Other issues discovered.

Posted: Thu Feb 01, 2007 10:50 pm
by kurt_septon
This is a 'continuation' of a post I put on a couple of weeks ago, regarding spanning multiple CDs with a compressed install.

First off, to all that responded to my original post--Thanks!

Second, I have mostly figured out my problems. I am now correctly using the Web Media Blocks, and am able to "span" multiple disks with them. (The problem that I had with them previously appeared to be related to something involving Tortoise SVN--I was originally doing all of my development of the installer directly in the file structure where all of my local copies of our svn files live. For some reason, any folders that I included as "source" from this tree--with the 'no sub-folder' option checked, so I wouldn't get the .svn folder--would not extract during the install. They were valid 7zip files--I could extract them from other applications, just the install app would puke on them. Since I was getting an error that mentioned "download new versions", I assumed it had to do with some necessity for a URL--my bad. I have since upgraded my Tortoise SVN to the 64 bit version--I'm on a 64 bit machine, and I have not been able to reproduce the problem. However, to be on the safe side, I am now doing my installer development on copies of the needed files moved to a non-svn controled drive.)

However, I have discovered a few "odd" things about using the Web Media Blocks, which has spawned a couple of other issues.

One, it appears that the extracted files are first put into sub folders that have the names of the blocks in the "DATADIR" (which is the same folder where the "UNINSTALLLINK" executable lives), and then copied to the target directory from there. However, these files in the "DATADIR" are not deleted when the install completes. (Perhaps for a "Repair" option? --which I cannot use anyway.) Since I'm installing about 1.2 gigs of data onto the users machine, having an extra 1.2 gigs 'hanging around' on someones machine seems kind of 'rude'... I have figured out a way to delete these files at the end of the install (using Delete Files Recursive), but, I was wondering if there is a way to have these files deleted without specifically scripting to delete them?

Second, while I have figured out how to 'build in' relative paths to the different files in the Media Blocks using the SFXPATH pre-defined variable, I'm finding that the Blocks are always built into the same directory as the install executable--I can't get them to build into the sub-folders that they need to be in to be found by that executable. I'm having to create those folders after the build, and manually move the compressed blocks into them. Is there a way to do this through IA?

Lastly (as far as questions go), I have also created another dialog to allow the user to pick the location of "disk 2", if it is not found in the removable media (for those companies that like to copy our install programs onto network folders, putting them into "disk 1" and "disk 2" subdirectories). I've got the dialog working great, EXCEPT for part of its initialization. I have made the dialog look just like other dialogs in the theme (the "swoosh" theme), and am therefore using an explorer style folder browser, as does that theme's "destination" dialog. But, I can't get that control to initialize to a specific folder, unless I temporarily copy the desired folder into the TARGETDIR variable, and use the "Installation Folder" option in the "Receives Information:" popdown. (I then reset TARGETDIR after the dialog is done).

This works, but it seems like a hack. Is there a more 'accepted' way of doing this?

If you've made it this far, I thank you for your perseverance, as I realize I can get a bit 'wordy'.... :-)

Thanks again to all,

Posted: Fri Feb 02, 2007 12:17 am
by jimo
One, it appears that the extracted files are first put into sub folders that have the names of the blocks in the "DATADIR" (which is the same folder where the "UNINSTALLLINK" executable lives), and then copied to the target directory from there. However, these files in the "DATADIR" are not deleted when the install completes. (Perhaps for a "Repair" option? --which I cannot use anyway.) Since I'm installing about 1.2 gigs of data onto the users machine, having an extra 1.2 gigs 'hanging around' on someones machine seems kind of 'rude'... I have figured out a way to delete these files at the end of the install (using Delete Files Recursive), but, I was wondering if there is a way to have these files deleted without specifically scripting to delete them?

This is the designed behavior to facilitate delivering patches, your work around of deleting recursive should work as long as you do not remove the files required for an uninstall.

I temporarily copy the desired folder into the TARGETDIR variable, and use the "Installation Folder" option in the "Receives Information:" popdown. (I then reset TARGETDIR after the dialog is done).

This works, but it seems like a hack. Is there a more 'accepted' way of doing this?

This is the best way to handle this.

I can't get them to build into the sub-folders that they need to be in to be found by that executable. I'm having to create those folders after the build, and manually move the compressed blocks into them. Is there a way to do this through IA?

Are you building one setup package? If you are building one setup package in the scenario you have described you will have to move the files manually.