Search code examples
file-permissionsinstallshield-le

setting file permissions with installshield limited edition


The installshield LE has deprecated features. Setting file permssions has been disabled. Is there a way to set file permssions. I tried running a post installation exe which uses icacls to set permissions but requires admin privileges to set permissions. Is there a way to grant admin privileges to setup installer. Or, is there a better way to do this.


Solution

  • Manually edit the .isl file

    Locate and entry like this:

    <table name="File">
        <col key="yes" def="s72">File</col>
        <col def="s72">Component_</col>
        <col def="s255">FileName</col>
        <col def="i4">FileSize</col>
        <col def="S72">Version</col>
        <col def="S20">Language</col>
        <col def="I2">Attributes</col>
        <col def="i2">Sequence</col>
        <col def="S255">ISBuildSourcePath</col>
        <col def="I4">ISAttributes</col>
        <col def="S72">ISComponentSubFolder_</col>
        <row><td>myfile.sdf2</td><td>ISX_DEFAULTCOMPONENT6</td><td>LottoDB.sdf</td><td>0</td><td/><td/><td>0</td><td>1</td><td>C:\Users\Mauro\Documents\Visual Studio 2012\Projects\MySolution\MayProject\MyFile.sdf</td><td>1</td><td/></row>
    </table>
    

    ...where MyFile.sdf is the file whose permissions must be set.

    Next, locate an entry like this (or add it):

    <table name="ISLockPermissions">
        <col key="yes" def="s72">LockObject</col>
        <col key="yes" def="s32">Table</col>
        <col key="yes" def="S255">Domain</col>
        <col key="yes" def="s255">User</col>
        <col def="I4">Permission</col>
        <col def="I4">Attributes</col>
        <row><td>myfile.sdf2</td><td>File</td><td>[%USERDOMAIN]</td><td>Users</td><td>1610809791</td><td>0</td></row>
    </table>
    

    Note the the column Name in table File corresponds to column LockObject in table ISLockPermissions.

    Permissions 1610809791 is "Write".