I have created a Transform (MST) for Vendor extracted MSI. I need to add couple of Reg Keys under [HKCU]Software\AppName. I simply created those keys in NewComponent that i created under CurrentUserFeature. When i tested it in Test Machine, the Registry entries did not get created. I do not have any Advertised entry under the feature. Can anyone suggest on how to make this Registry keys created for all Users that log into the machine.

Answer Summary:
0 Comments   [ - ] Hide Comments


Please log in to comment

Answer this question or Comment on this question for clarity



if you have no advertised entry point into the msi (like a shortcut), self-heal will not trigger.

Things you can do/check

- put the currentUser feature as a parent to all other features, that way if you do have an advertised shortcut, it will also repair your settings,

- make sure one of the registry keys is keypath of the CurrentUser feature, and that is won't exist yet before the self-heal,

- if you don't have an advertised shortcut anywhere and can't make one, you could use ActiveSetup to trigger the command msiexec.exe /fu <your msi or productcode> /qn for a silent repair per-user

- make sure the WriteRegistryValues and RemoveRegistryValues standard actions are part of the execute sequence for the msi (InstallExecuteSequence table)


Answered 02/21/2014 by: pjgeutjens
Red Belt

  • Hi,
    The reason i didn't make CurrentUserFeature as parent Feature is because i do not want to change the Vendor logic. I have tried using the Active Setup, and it works fine but it takes longer than usual for User while trying to Login first time. I hope that won;t be a problem. Can any of the Registry keys be set as key path under same featue? Can you please elaborate more. Thanks in advance.
    • >because i do not want to change the Vendor logic.
      You won't be changing any of that, just the feature's position in the tree. I can't think of a single MSI where a vendor tested for a feature's position in that tree.

      Remember also that there are entry-points for advertising other than shortcuts. Look them up in MSDN.

      >put the currentUser feature as a parent to all other features
      To trigger self-healing there's no need to move ALL the features, only the one(s) which contain the advertised entry-point. In your case, if there are none, shuffling the feature tree is pointless.
      • Thank you for clarifying, i have got these working. I did not realize that it is that easy. Thank you again.
Please log in to comment