PDA

View Full Version : Using Custom Installshield Locked-Down Permissions



AdsDavis
08-30-2010, 05:53 AM
Hi,

I am trying to set an everyone directory permission in the ProgramData\MyCompany\MyProduct directory.
I am trying to use the Custom Installshield handling option of the Locked-Down Permissions with the "Apply Permissions to Child objects" set as I have a few files/folders in there.

When I run the installer I get
"The Wizard was interrupted before product could be compleletly installed" in the dialog.

The log gives me
Action ended 11:32:38: InstallValidate. Return value 1.
MSI (s) (58:34) [11:32:38:309]: Doing action: ISLockPermissionsCost
Action 11:32:38: ISLockPermissionsCost.
Action start 11:32:38: ISLockPermissionsCost.
MSI (s) (58:08) [11:32:38:358]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIA3A0.tmp, Entrypoint: ISLockPermissionsCostAction
MSI (s) (58:88) [11:32:38:359]: Generating random cookie.
MSI (s) (58:88) [11:32:38:362]: Created Custom Action Server with PID 7464 (0x1D28).
MSI (s) (58:AC) [11:32:38:425]: Running as a service.
MSI (s) (58:68) [11:32:38:426]: Hello, I'm your 32bit Impersonated custom action server.
InstallShield 11:32:38: Failed to fetch record from CreateFolder query for object 'MYPRODUCT'
InstallShield 11:32:38: RunCost: BuildFinalPermissionsItems returned status 103

CustomAction ISLockPermissionsCost returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 11:32:38: ISLockPermissionsCost. Return value 3.
Action ended 11:32:38: INSTALL. Return value 3.

Is this a bug or am I doing something wrong?

Thanks in advance,

Adam

joshstechnij
08-30-2010, 11:03 AM
This error likely indicates Directory table entry MYPRODUCT is listed in the ISLockPermissions table to have permissions applied at runtime, but there is no corresponding CreateFolder table entry for this folder. Since this item is missing from the CreateFolder table, the folder is not explicitly created by the installation, and we are unable to determine what component would normally install this folder.

Typically, when folders are created in the IDE (such as in the Files and Folders view), CreateFolder entries are automatically created for new folders. In this case, for some reason, there is no entry in the CreateFolder table. You should be able to resolve this behavior by creating a new record in the CreateFolder table (through the Direct Editor), and set the Directory_ column to MYPRODUCT and the Component_ column to the name of a component contained in your project that should install this folder.

AdsDavis
08-31-2010, 04:17 AM
Hi Josh,

That solved the problem first time.
Strangely only InstallDir was in the CreateFolder Table considering I have a lot of other folders in the install.

Thanks so much for the help!

Adam