If you have the same problem, one way to resolve it is:
- Download Orca (it allows you to edit MSI files)
- Run Orca and open an MSI file
- Go to the LockPermissions table
- Add a new row and fill in four of the five fields (see image). The fields are:
- LockObject (the ID of the file, this is found in the File table);
- Table (the name of the table that you're editing, in this case the "File" table, but it could be "Registry" or something else);
- Domain (I left this bank);
- User (I put in "Everyone" which is incredible insecure, but I really don't care);
- Permission (the meaning of the numbers is explained here);
- Save the MSI and exit Orca
Usually, installed files take on the permissions of the directory they are installed to. If you install to "C:\Program Files," your files will get the permissions that the program files directory has. However, using LockPermissions will overwrite all of these permissions and just assign SYSTEM and the permissions you added in the LockPermissions table. This is super-dodgy, but then, the whole thing is super-dodgy. Other people recommend using a custom action as part of the installation, e.g., using "ICacls". This is probably a better way to do it, I was just running out of time.
How can i set this read write permission to a folder which is created in programdata folder?
ReplyDelete