how can i add new folders/files to existing msi with ORCA ?
0 Comments
[ + ] Show comments
Answers (8)
Please log in to answer
Posted by:
AngelD
15 years ago
For folders you populate the Directory table.
To add files you need to populate the File table and if the file don't have a file version you need to update the MsiFileHash table.
If the files are going to be external files you just reflect that in the File.Attribute column with the msidbFileAttributesNoncompressed attribute bit. For compressed you need to use msidbFileAttributesCompressed instead. Use MakeCab.exe to generate cabinets and don't forgett to update the Media table to reflect the new cabinet holding the new compressed files. If you want to use internal cabs then you must add the CAB file(s) into the _Streams table and from memory I think you would have to use WiStream.vbs from the Platform SDK as you cannot update the _Streams table using ORCA.
Files would also have to be conntect to a component so either associate them with existing once if that is what you want or create new components in the Component table. Components are also connected with features with you find in the FeatureComponents table.
Would I suggest reading up regarding this information in the help-file (MSI.CHM) or from http://msdn.microsoft.com/en-us/library/aa367449.aspx
To add files you need to populate the File table and if the file don't have a file version you need to update the MsiFileHash table.
If the files are going to be external files you just reflect that in the File.Attribute column with the msidbFileAttributesNoncompressed attribute bit. For compressed you need to use msidbFileAttributesCompressed instead. Use MakeCab.exe to generate cabinets and don't forgett to update the Media table to reflect the new cabinet holding the new compressed files. If you want to use internal cabs then you must add the CAB file(s) into the _Streams table and from memory I think you would have to use WiStream.vbs from the Platform SDK as you cannot update the _Streams table using ORCA.
Files would also have to be conntect to a component so either associate them with existing once if that is what you want or create new components in the Component table. Components are also connected with features with you find in the FeatureComponents table.
Would I suggest reading up regarding this information in the help-file (MSI.CHM) or from http://msdn.microsoft.com/en-us/library/aa367449.aspx
Posted by:
anonymous_9363
15 years ago
ORIGINAL: AngelD...and investing in a decent tool. Using Orca for anything except quick fixes will be torture. If your client/employer is too cheap to invest in one of the two main tools, there are shareware and freeware alternatives, of varying quality.
suggest reading up regarding this information in the help-file (MSI.CHM) or from http://msdn.microsoft.com/en-us/library/aa367449.aspx
If the MSI is vendor-supplied, the concensus is to never, NEVER directly edit the MSI if it can be avoided. You would be advised to use a transform instead to make your changes.
Posted by:
AngelD
15 years ago
Common Ian,
Sure for new guys ORCA may not be the best tool to start with but it's a whole lot of fun and instructive to use it.
By using ORCA one would need to know exactly what to edit. There exists tools and script to help on the way which can be found in the SDK.
Don't wanna start a new war (to use or not to use ORCA) but there are alot of people using it as their company may not provide them with the tools they need.
For in-house applications I would use WiX
Sure for new guys ORCA may not be the best tool to start with but it's a whole lot of fun and instructive to use it.
By using ORCA one would need to know exactly what to edit. There exists tools and script to help on the way which can be found in the SDK.
Don't wanna start a new war (to use or not to use ORCA) but there are alot of people using it as their company may not provide them with the tools they need.
For in-house applications I would use WiX
Posted by:
nheim
15 years ago
Posted by:
AngelD
15 years ago
One thing to also have in mind is if the file needs to be registered such as COM/ActiveX component (DLL, OCX, EXE) you also need to add that info to the MSI/MST. In that case you need to add that info into the Registry table and/or the advertise related tables; Class, ProgId, TypeLib (and AppID for DCOM server). You could also use the SelfReg table to install the registry for you but not recommended.
Please provide any question you face regarding this and we'll try to guide you in the right direction.
Please provide any question you face regarding this and we'll try to guide you in the right direction.
Posted by:
axsysbabu
15 years ago
Hi Anjel
thanks for response ...
we have one product which contains many files(images, .bmp,.jpeg etc..) and folders (around 5000 images ,dlls and ocxs ). now my question is sometimes we have addedd images manually and make a build its working fine but it takes more time to build the entire setup. thats why i am asking how can u add files/images/folders to msi with orca?
thanks for response ...
we have one product which contains many files(images, .bmp,.jpeg etc..) and folders (around 5000 images ,dlls and ocxs ). now my question is sometimes we have addedd images manually and make a build its working fine but it takes more time to build the entire setup. thats why i am asking how can u add files/images/folders to msi with orca?
Posted by:
axsysbabu
15 years ago
Posted by:
AngelD
15 years ago
axsysbabu,
The link Nick provided describe how the different tables related to each other for adding file(s) to an MSI.
To understand how this is done you really need to understand how the different tables relates to each other and hos an entry for that table should be populated.
The MSI.CHM from Microsoft's platform SDK or from MSDN will provide you with vital information regarding the Windows Installer technology.
The link Nick provided describe how the different tables related to each other for adding file(s) to an MSI.
To understand how this is done you really need to understand how the different tables relates to each other and hos an entry for that table should be populated.
The MSI.CHM from Microsoft's platform SDK or from MSDN will provide you with vital information regarding the Windows Installer technology.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.