Repair not replacing files in Admininstrator AddDataFolder

I am facing a problem in my application. I am not sure why is this happening.

Problem description:

I am creating a transform for vendor msi. And the vendor msi has some files in Application data folder. I install the application in administrator login. Delete some files and do repair. The files are not being replaced in administrator appdata folder. Rather they are getting placed in <someuser> appdata folder. I tried this same scenario with a user login. Repair is working fine in user mode (files being replaced). This happens only for admin login. I analyzed the log file and nothing seems to be of use, except in CostFinalize sequence "PROPERTY CHANGE: Modifying TARGETDIR property. Its current value is 'C:\Documents and Settings\Administrator\Application Data\'. Its new value: 'C:\Documents and Settings\u1\Application Data'.".

I even tried setting TARGETDIR property in command line (to admin appdatafolder), but of no use.

Answers

Are you running these repairs manually or through some kind of deployment tool? What's your ALLUSERS property set to? Is it hard-coded or are you calling it from the command line? Is the data going to the Default User profile? What do you mean by "some user"?

I am doing repair manually from command line.
ALLUSERS property is set to 1.
I am not setting any propert in command line. Its inside the msi.
Yes, files are going to default user profile during repair.
"some user" means as you have mentioned the default user.

Further to mekaywe's post, if you repair the app as the system account, it will write the userprofile data to the default user profile. You're somewhat limited in your options as you're working with a vedor msi. If the application had an advertised shortcut and proper feature/component/key structure, the repair would occur automatically each time a new user launched the application.
If you can't make the shortcut advertised in your transform, you may be stuck with creating an Active Setup which triggers the repair for each new user at login. I would use this as a last resort though as I find Active Setup to be very dodgy and unreliable.

Depending on your deployment tool, you could also install the application per-user (ALLUSERS="") then have the install re-run every time a new user logs in. This is can be done with SCCM. You will have to install the app with the user's credentials, so if the user is locked-down and the MSI wants to write to a lock-down location, this won't work.