This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- how to extract files from cab file
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 14, 2011
12:46 PM
how to extract files from cab file
Hi,
I am using IS2010 - installscript based software.
I have a project which does not require uninstall - no uninstall or maitenance.
I would like to extract a file (abc_data.zip) from cab file during GUI selections scree -- pre-install.
then I would like same file (abc_data.zip) to be extracted during normal install time to it's destination folder.
I do not want to put that file (abc_data.zip) in support folder.
when I extract the file, I do not want the installer to add any registry entry regarding files/feature pulled from media/cab files..
Thanks,
Yogesh
I am using IS2010 - installscript based software.
I have a project which does not require uninstall - no uninstall or maitenance.
I would like to extract a file (abc_data.zip) from cab file during GUI selections scree -- pre-install.
then I would like same file (abc_data.zip) to be extracted during normal install time to it's destination folder.
I do not want to put that file (abc_data.zip) in support folder.
when I extract the file, I do not want the installer to add any registry entry regarding files/feature pulled from media/cab files..
Thanks,
Yogesh
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 15, 2011
02:19 PM
InstallScript does not provide any runtime functionality to access a file that is included in a data cab that is a part of the installation (note that MSI doesn't provide this type of functionality either).
The file would be first be accessible when the OnInstalledFile event is called with that particular file in the szFile parameter (OnInstallingFile will be called just before the file is transfered). To be able to access the file earlier than this point would require adding the file as a support file or a Disk1 file.
The file would be first be accessible when the OnInstalledFile event is called with that particular file in the szFile parameter (OnInstallingFile will be called just before the file is transfered). To be able to access the file earlier than this point would require adding the file as a support file or a Disk1 file.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 15, 2011
04:11 PM
Josh,
Thanks for the reply...
But what does installshield uses to extract the files from data1.cab?
I need to call similar function during pre-install time.
I can't use featuretransfterdata(), or FeatureMoveData(), somehow these functions create a registry entry for uninstall, which I don't need to. Also I need to extract these files multiple times.
any idea?
Thanks for the reply...
But what does installshield uses to extract the files from data1.cab?
I need to call similar function during pre-install time.
I can't use featuretransfterdata(), or FeatureMoveData(), somehow these functions create a registry entry for uninstall, which I don't need to. Also I need to extract these files multiple times.
any idea?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 18, 2011
06:19 PM
The functionality used to extract files from InstallScript CABs is a part of the file transfer code and isn't exposed outside of the engine. Support files stored in data1.cab are extracted as a result of installing components that are generated by the build (feature transfer is used to install these components and then remove them when the setup is exiting).
Note that FeatureTransferData and FeatureMoveData do not create any registry information other than what is included in the Registry view of an InstallScript project. Any other registry information written to the machine is done through the InstallScript registry functions. For example, the uninstall key for an InstallScript project is written from the OnMoveData event by calling MaintenanceStart (this is skipped in an installation that has no uninstall or maintenance set).
Note that FeatureTransferData and FeatureMoveData do not create any registry information other than what is included in the Registry view of an InstallScript project. Any other registry information written to the machine is done through the InstallScript registry functions. For example, the uninstall key for an InstallScript project is written from the OnMoveData event by calling MaintenanceStart (this is skipped in an installation that has no uninstall or maintenance set).
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 07, 2011
11:24 AM
Josh,
it does in my case.. you can try following scenario
Create a small project with one feature..
set a "Maintenance Experience" to No uninstall or maintenance.
include couple of dummy files..
build it..
-- install it.. and check you won't find registry entries for that feature..
--- then update your project ---
add featuretransfterdata(), or FeatureMoveData(), function in pre-install
put some messagebox before above function and after above function to debug
build it
-- Run installer -- not stay in pre-install -- don't install all the way..
after you run the above function.. message box.. check the registry entry for feature included in this project.. you will see it there.. (I do).
--
When set the project for "No uninstall or Maitenance", it should not keep track of features in registry entries.
In this case if you use featuretransfterdata(), or FeatureMoveData() functions, it does create features registry entries.
it does in my case.. you can try following scenario
Create a small project with one feature..
set a "Maintenance Experience" to No uninstall or maintenance.
include couple of dummy files..
build it..
-- install it.. and check you won't find registry entries for that feature..
--- then update your project ---
add featuretransfterdata(), or FeatureMoveData(), function in pre-install
put some messagebox before above function and after above function to debug
build it
-- Run installer -- not stay in pre-install -- don't install all the way..
after you run the above function.. message box.. check the registry entry for feature included in this project.. you will see it there.. (I do).
--
When set the project for "No uninstall or Maitenance", it should not keep track of features in registry entries.
In this case if you use featuretransfterdata(), or FeatureMoveData() functions, it does create features registry entries.
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)