Early Install of Component
Posted 13 January 2005 - 20:54
I have looked through the various MSI tables and it looks like I can extract them by hand but it would be extremely tedious and error prone to write that code. Does anyone know if an exposed method exists or possibly have one already written?
Posted 17 January 2005 - 12:54
Posted 18 January 2005 - 09:22
Posted 18 January 2005 - 12:38
Posted 18 January 2005 - 12:55
1. I need to place files (technically these are executable files [database installation tools] and a series of files within an defined directory structure [database staging area]) on the target system prior to the start of the User Interface Sequence.
2. I need to execute commands on the files that I have placed on the system (in step 1) to determine dialog progression and menu choices in the User Interface Sequence.
3. At the proper conclusion of the User Interface Sequence I need to install these files in a permanent location on the target system (for use at application run-time).
4. Finally, I need to remove the initial set of files that were placed on the target system in step 1.
Because the files I need to install in step 1 are components in the install, I am trying to find a way to either install those components early (as a sort of support file setup) or extract those files from the MSI at install-time such that I can place them on the target system.
This whole process is complicated by two factors (customer requirements)
1. All files must be packaged inside of the MSI (internal CABs) or at a minimum external CABs.
2. The defined directory structure listed in step 1 is dynamic (the component includes a dynamic directory/file list). I only know the top level of the directory structure at MSI build-time … I don’t know its contents.
I hope this makes the problem clearer.
Posted 19 January 2005 - 12:16
Posted 24 January 2005 - 13:18
1. Correlating the top level component with the every directory component in the Components, Directory, and CreateFolder Tables.
2. Then creating the directory structure that was resolved in step 1.
3. Finally locate and extract every entry in the File Table that resides in one of the directories that I created in step 2.
My problem is that this seems like such a fundamental requirement that I figured it should be accessible through some MSI API.
Posted 24 January 2005 - 14:15