zip and unzip in setup project
Because there are huge number of data files in my project, I try to zip them together to a compressed file and then uncompress them back in the installation process.
I used pkzip to compress all the files to a zip file and then convert it to a self-extract exe file, finally I add the exe file to the customer action of my setup project, I have two problems right now:
1. when the installation process reach the customer action, it gives me an error like "file already exist, do you want overwrite (y/n)? After I choose either Y or N, the installation process fails, I checked the destination folder, there is no file there.
2. I manually run the self-extract exe file and found that some long file names are changed by pkzip, maybe it is limited to 8 characters.
Anyone has some experience about it?
Appreciate your time and help.
because there are too many data files in the project (maybe more than 5,000), it takes for a long time to load and build the setup project, so I try to condense the application folder, after replacing the data files by several zip files, It do load and build much much faster, but when I run the msi file, when it reaches the customer action point, an error popup says "There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor." and everything rolled back.
I guess something wrong with my customer action. Here it is. Under the Install node of customer actions I added wzunzip.exe and at the arguments I specified "-d -n map.zip map\", I tried it in command window, it works. Any idea what's going wrong?
Thank you so much.
If I remember correctly, install files may not yet be on disk when you run the Install custom action. Also, if the wzunzip.exe is marked as excluded, it won't even be on the disk. In addition, you probably are missing some path information... the custom action could be running wzunzip from a temp dir, so you might need to use something like [TARGETDIR] in your arguments to wzunzip, something like:
-d -n [TARGETDIR]\map.zip map\ (you may not need the \ after DIR], I've forgotten and don't have help readily avail)
HTH
Thanks David. I guess the customer action begins after the files transfer so the install files should be already on the disk.
You are right, I do miss the path information. I have assumed that if I put wzunzip and the zip file (map.zip) under the same folder, it will find it automatically and also unzip the file under this folder, but it seems that this does not work. After I add the path [TARGETDIR], it works now.
A benifit I got from the zip and unzip process is that, before using it, I can not package several mdb files into the setup package, but after I compressed the huge number of files into several zip files, now I can add the mdb files and package them together, if I use the "As loose uncompressed files" option in setup project, the release package size is 798MB, if I use "In setup file" option, the size is about 350MB. So I think the limitation of visual studio setup project size is not only depend on the RAM but also the number of files in the package.