Hello Application Guru's

I have a MSI packaging question.

I need to create a msi that installs a file into a userprofile \%username%\Appdata\Roaming\Microsoft\. This is for a large scale deployment

The problem is the %username% variable. I tried creating the file into C:\ProgramData\Appdata..but it didnt copy the file into the other users profiles.

How could best approach this?

**Am using Installshield 2013


Answer Summary:
1 Comment   [ + ] Show Comment


  • Coolio, its nice when you can simply move it to a machine location. Its not always that easy.
Please log in to comment

Community Chosen Answer

if you can, try to put the file into a machine location, (much easier) then try putting it in:
C:\Program Files (x86)\Microsoft Office\Office14\XLSTART
    (instead of the Programdata location) (I have had a separate email about this question....)
if you want to stick with a user location install,
no dramas, .. don't worry about the %username%
just put the file and dir structure under AppData, as per the image that rileyz has attached.
the trick is,
ensure the component that has the file you are installating, has a Current User reg key as a key path.
The next question is, are you ONLY packaging this one file???
If so, and there are no shortcuts that means we will have to use Active setup...
Answered 05/16/2014 by: Badger
Red Belt

Please log in to comment



Try using the [AppDataFolder] folder/property. This drops into the %username%\AppData\Roaming folder (off the top my head, so could be wrong, I always get muddled with prodefined folders)

Right click on the root of the folders, in the memu youll find it.
Thanks google for the pic!


Remember, you still need a entry point into the MSI to trigger the selfheal to propergate into the user profile. Are you using a shortcut to lunch the app - you could then use a advertised shortcut.


Good luck!

Answered 05/16/2014 by: rileyz
Red Belt

  • active setup could help if there is/was no trigger in the profile..
Please log in to comment

There are 2 ways to achieve what you want in packaging terms, as has been alluded to above.

If the package has an advertised entry-point such as - but not exclusively an advertised shortcut, use self-healing. To save you time on this topic, Google for John McFadyen's blog on self-healing. You won't find a better, clearer write-up.

If the package has no advertised entry-point, use Active Setup. MSDN documents this quite well.

Outside the scope of packaging, particularly if this is a single file or small group of files, is to use a script called by the domain log-in script.

Answered 05/18/2014 by: VBScab
Red Belt

Please log in to comment

Apologize with the lateness of my reply...

I managed to resolved the issue via Badger's suggestion about copying the file to the C:\Program Files\... instead of the \\%username%\Appdata\.... The user was able to confirmed this method worked...

I have never used Active Setup Before (there was no entry point for this app) but it looks interesting and I might play around with a alternative package for practice using this method.

Many thanks to all that replied and espicially to Badger.

Take care all.

Answered 05/21/2014 by: mmarsh
Orange Senior Belt

Please log in to comment
Answer this question or Comment on this question for clarity