Setting permissions with your msi

SanderZ, 30 januari 2012

In the good old days it was quite normal to use an external VBScript which ran xacls.exe or something similar, to set permissions on files and registry keys that were included in your msi-file. Setting these permissions using the ‘LockPermissions‘ table was not recommended.

One of the problems facing when you used the LockPermissions table, was that permissions on already existing local files were simply overwritten and were not added/merged with the already existing permissions on these files. Another limitation was that it didn’t natively localized user groups based on well-known SIDs. When you e.g. were setting permissions on the ‘Users’ group and ran the msi on a Russian Win7 system the msi would fail to install, because it didn’t know of a usergroup called ‘Users’. In Russian the group is called ‘Пользователи’. You would receive error message 1609 An error occurred while applying security settings. Users is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry. There was a way to solve this with a special mergemodule called SIDLookup, but not everyone knew of its existence.

Since Windows Installer 5.0 (included in Windows 7 by default) there is a brand-new table called ‘MsiLockPermissionsEx‘ which can be used to set permissions on files, registry, folders, and services that are installed with your msi-package. You can find the TechNet page explaining all this here:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd408009%28v=vs.85%29.aspx

Lees meer (0 reacties)

  • Categories

  • Tags

  • Blog Authors

    Amy
    anita
    Anneke
    Danny Burlage
    Dennis Vendel
    Freek Berson
    Gerard
    Iris
    Jasper Oosterveld
    Jean-Claude Chan
    Jorn
    Lab Chicks
    Luc Joziasse
    Maarten van Noort
    Maarten Wijsman
    Marlon
    Martijn Bellaard
    Natasja van Doorn
    Paul Pascha
    Peter Heuvelman
    Rick Slager
    Robert van Son
    Roeland Jimenez
    SanderZ
    Sjoerd Schudde
    Stefan van der Wiele
    Tim Heuperman
    Wortell
  • Archief