I have built an MSI in Installshield and I wish to copy some files from one location to another as part of the installation process. As the files I want copied on the target machine are files being installed by the MSI, I used the DuplicateFile table.

The purpose of the MSI is to backup and update some EXE files on a number of target machines.

I have added 3 entries into the DuplicateFile table, all much the same as below:

Component: STMM (reference to component in the project)
File: xxx (reference to file in the project, under the selected component)
DestName: stmedia.q9644
DestFolder: BACKUPS

For the Destination Folder (BACKUPS), I have created a new entry in the Directory Table:

Directory : BACKUPS
Directory_Parent: INSTALLDIR
DefaultDir : BACKUPS
IsAttributes: 0

When I build the back I have no errors.

On running the MSI, the files are replaced I expect to be replaced, but the copies I expect to be present are not there.

When I log the output, DuplicateFiles appears not even to recognize there are entries to process.

What steps could I be missing?

MSI (s) (C0:90) [17:20:15:078]: Doing action: DuplicateFiles
Action 17:20:15: DuplicateFiles. Creating duplicate files
Action start 17:20:15: DuplicateFiles.
DuplicateFiles: File: Creating duplicate files,  Directory: ,  Size: 
Action ended 17:20:15: DuplicateFiles. Return value 1.
MSI (s) (C0:90) [17:20:15:078]: Doing action: BindImage
Action 17:20:15: BindImage. Binding executables
Action start 17:20:15: BindImage.
Action ended 17:20:15: BindImage. Return value 1.

I'd comment but I don't have the points yet.

When you mentioned the file: xxx (reference to file in the project, under the selected component) - did you use the filename or the filekey for that file from the file table?

How many more times can I say file....

The docs say to use the filekey.


| improve this answer | |
  • It's a drop down field which is populated with the files within the component. so I selected the appropriate file from the predefined list. – Damo Apr 17 '13 at 13:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.