I have this strange requirement, wherein i need to install just 15 of 20 files present in a single component. Now to do this there is something called FILEADDLOCAL property which takes the names of files to be installed. But  it lacks and has a drawback. During install the file to be installed is checked with the component which is further checked with feature in the feature component table and installs the entire feature. I m a bit skeptical if movefile table can be made use of in this scenario, since it would be like moving the file and not installing. Hope i m on track. Can someone suggest me some solution to this issue?

Answer Summary:
0 Comments   [ - ] Hide Comments


Please log in to comment

Community Chosen Answer



What "vendor logic" would that be? The only logic I can think of would be in Custom Actions and it's simple enough to test what your changes do to those.

Just create a new feature and drop the components containing the required files into that. Next!

Answered 05/15/2013 by: VBScab
Red Belt

  • VBScab, i have this strange thing in my mind. We all know, movefile sequence appears before install files. What if i dont make use of install files action at all and first move the required dll's into their required location and later register them? do you think that would be a smart move??
  • VBScap, all 20 files are located in the same component, so he have to create a component for each file, which is recommended if the files are dll or exe file. And then he can apply your solution.
Please log in to comment
Answer this question or Comment on this question for clarity



That is one strange requirement.

Could you not make a transform and break out all the files into another feature? And just install that feature?


You could do a ugly hack. Make a subfolder or a folder somewhere else, and use the DuplicatFile Table to copy the files to required location.

When you say installing, is this a dll that needs to be reg'ed or something like that?

(whooray a decent packaging question :)

Answered 05/15/2013 by: rileyz
Red Belt

  • Well, rileyz, this happens to be a vendor MSI(even i m wondering why this requirement came to me, but since it has, so will have to). Ideally we prevent ourselves from destroying the vendor logic. and yes these are dll's. Even i gave a thought to break the files into separate components and later conditionalize them,but something stopped me from doing this
  • Yeah, I would be worried about killing the vendor logic as well.

    I suggest having a few options ready and present them to the client with the pros and cons, put the onus and risk onto the client.

    My pref would be to use a MST to drop the files.
Please log in to comment
  1. Create a mst and remove the files from installation.
  2. Create a script and delete the files at the end of installation.

In both cases you have to be sure that you deleted or removed all registry entries which pointing to this files.


Answered 05/15/2013 by: terebent
Second Degree Brown Belt

  • Thanks terbent, but the client that i m working for happens to be very smart and doesnt want what you are suggesting, he just doesnt want the files in first place.....i had that answer too in my mind. But wasnt sure
  • Geez the client is making hard for you isnt he, so even using a MST to drop the files from the package will not suffice (even if they wont even get installed at all).
Please log in to comment

This is a strange requirement. What I will do in a case like this:

1. Create an MST

2. Check the Keypath of that Component and make sure that it is one of the 15 files that need to be installed, otherwise I will change it to one of them.

3. Create a Custom Action that will run in Deferred Execution that deletes the 5 files that do not need to be installed.

4. Put a condition on that CA to run during installs and repair.

Hope this helps..

Answered 05/15/2013 by: dj_xest
Fifth Degree Black Belt

  • I agree with what your answer dj_xest, but, alongwith deleting the files we will also have to make sure, the file reference is removed from registry as well, like the COM information
  • How about capturing the COM information of those 5 files for unregistration/deletion as well?
    • hmm...that sounds good, right now , i m keeping all the options ready, lets see what the other party thinks about solutions
      Thanks All!! for their feedback
Please log in to comment