/build/static/layout/Breadcrumb_cap_w.png

Adding files to MSI package without compiling the MSI

Is there a way to add files to an exisiting MSI package without compiling the package?

I believe I have not made the question clear, hence rephrasing the question.

There is a requirement from a team (non-technical) that they should be able to put uncompressed external files alongwith the MSI package and package should install the files correctly. This will avoid them coming to the packaging team again and again for addition of files. The external files which the team would put will be related to different languages.


0 Comments   [ + ] Show comments

Answers (7)

Posted by: andemats 12 years ago
2nd Degree Black Belt
3

Well, not really (at least not what I know)

However, you can add an MST to your MSI and add files to that. That would leave your MSI in it's original state.

The run the installation with

  • msiexec /i "yourMSI" TRANSFORMS="yourMST"
Posted by: piyushnasa 12 years ago
Red Belt
3

I would not suggest you to change the MSI directly. You should use a transform file to edit the MSI.

Though there are ways to add files to MSI directly. If you edit it in WISE or Installshield, add the files and save it, it will add the files inside the MSI.

You can do this with ORCA as well. Use MakeCab to create a cab file. Add it to binary table. Create entry in File Table and media table. Be cautious of the LastSequence.

Still I will say.. DO NOT DO THIS...

Use MST.

Posted by: dannyarya 12 years ago
Senior Purple Belt
1

Hi,

If files are not registrable files then you can create a custom action or VBS file in which you can give a fix path of source and destination.

So whenever user will copy new files in source folder you have to run your MSI which copy those files to the destination folder.


Comments:
Posted by: Arminius 12 years ago
Second Degree Green Belt
1

This is the design of the MSI - it installs the files in its tables and cab file(s).  It sounds like the programmers aren't done if they want to add files later. 

This idea is fraught with bad ideas, poor concepts, and a lack of understanding of MSI technology from the requestor.

Posted by: jagadeish 12 years ago
Red Belt
0

Give them Admin Image of your MSI package...


Comments:
  • But I want to add files which are different from the ones which are already included in the package. The new files will differ in size and name. - SilentKiller 12 years ago
Posted by: andemats 12 years ago
2nd Degree Black Belt
0

How about giving the users modify rights to the local folder where you want the new files "installed". Then create a simple batch script to copy the files you want from a share where the users have read access?

COPY "\\server\share\folder\*.*" "%PROGRAMFILES%\YourApp" /Y

 

Also; Is there a reason why you don't want to use a transform?

Posted by: anonymous_9363 12 years ago
Red Belt
0

>Is there a way to add files to an exisiting MSI package without compiling the package?

In a word, no. The MSI needs to know file sizes, dates, etc. in order to determine their installed state.

>You can do this with ORCA as well
The poster stated that the team updating the folder is a non-technical team and that there is a requirement to NOT compile the MSI.

My solution would be a scripted one, whereby the updating team would deposit the new files and then run the script which would compare the MSI's content against the folder's content, create a list of the new/updated files and add these to the MSI via the WindowsInstaller.Installer object model.

As you might suspect, this is a distinctly non-trivial undertaking but not an impossible one.

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ