wrapping another projects in msi
Posted 10 June 2003 - 11:22
2. during the msi installation process, msi extracts the 3 files to a temp directory, and runs the command: systemcommand.exe file1.txt (when this runs, file2.txt and file3.txt should be in the same directory with file1.txt), then delete these files.
3. I want this msi is a pure msi database, no installscripts interfered, just use custom action or modify tables.
4. Can this be feasible?
can you give me some hints on how to extracts the 3 files into a temp directory(just modify the tables, no scripts)?
Posted 10 June 2003 - 16:15
Note that you don't need to modify the tables, just reading it is enough. Example code to extract a file from the binary table is available on this site, section Windows Installer / Custom Action, item "Streaming a file from the binary table".
The sample is InstallScript, but you should have no problems converting it to VBScript or DLL.
Posted 25 June 2003 - 09:57
To make it clear:
I have an existing installable project, including setup.exe and other files.
I want to wrap it in msi, can you tell me the most convenient way.
Posted 25 June 2003 - 13:49
Anyway, go for the classic version, which does not attempt to modify the file after extracting. The limit is 2 Gb per file.
Posted 09 July 2003 - 04:04
I wonder where this CA should be in InstallSequence.
Since my function in dll works silently, I'd like to insert it into InstallExecuteSequence table(right?), and where is appropriate(after copyfiles or elsewhere)?
BTW, my msi just launch this CA and do nothing else. While if I don't install any file, when i launch MSI file. msi complains about that and stop running. Are there any workaround?
Posted 09 July 2003 - 08:16
When in doubt, schedule it after InstallFinalize, so you don't have to worry about Rollback scenarios (however - uninstall may become another issue).
No idea about your second remark - how does MSI complain? Maybe your CA should wait until the exe is finished.
Posted 09 July 2003 - 10:46
"The wizard was interrrupted before program could be completely installed"
"Your system has not been modified. To complete installation at another time, please run
My CA just 1) extracts a zip file from another item of binary table into a temp dir
2) call unzip.exe to unzip the zip file
3) execute a.exe (unzipped from zip file)
4) delete all the files(including the zip file and the unzipped files)
what is the problem?
2. typically msi installs several files into programfiles dir, while my msi only execute the CA, and
doesn't installs any files directly by msi. So MSI complains that some error.
Posted 09 July 2003 - 23:55
If you are using a DLL maybe the function has not been exported correctly?
Try checking the Window Event Viewer, this may help.