As workaround we could use the file uactions.sxp to execute a command which set the permissions on the user files/folders
Example :
Here is an example of uactions.sxp file :
#InsUserActions1#
cacls.exe "$(SxpRootDir1)\log" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\log" /T /E /P SDOFFLIN:R
cacls.exe "$(SxpRootDir1)\trace" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\trace" /T /E /P SDOFFLIN:R
cacls.exe "$(SxpRootDir1)\pfe32.32" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\pfe32.32" /T /E /R SDOFFLIN
Account1=A
#Sign#
ArchiveName=TEST_ACT
Release=1000
SXP=1.0
#Locale#
Codepage=3
For every first logon of user, following commands are executed :
cacls.exe "$(SxpRootDir1)\log" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\log" /T /E /P SDOFFLIN:R
cacls.exe "$(SxpRootDir1)\trace" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\trace" /T /E /P SDOFFLIN:R
cacls.exe "$(SxpRootDir1)\pfe32.32" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\pfe32.32" /T /E /R SDOFFLIN
This sets the FULL permissions for Admin user on directories $(SxpRootDir1)\log, $(SxpRootDir1)\trace and $(SxpRootDir1)\pfe32.32
This sets the READ permissions for SDOFFLIN user on directories $(SxpRootDir1)\log, $(SxpRootDir1)\trace and NO ACCESS permission on $(SxpRootDir1)\pfe32.32
Remark :
If SXP Package is sent and a user is logged, uactions.sxp is executed immediately for logged user (same for all u*.sxp file).
So if user logoff and logon again, the command in uactions.sxp are not executed again as it was already executed during installation.
Example :
- SXP Package is installed and User1 is logged, cacls.exe commands in uactions.sxp are executed.
- User1 logoff and User2 logon. cacls.exe commands in uactions.sxp are executed.
- User2 logoff and logon again. uactions.sxp are not executed again
- User2 logoff and User1 logon again. uactions.sxp are not executed again
If you want that some commands in uactions.sxp are executed again for every logon, put the command in section #RepeatUserActions1#
#RepeatUserActions1#
cacls.exe "$(SxpRootDir1)\log" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\log" /T /E /P SDOFFLIN:R
cacls.exe "$(SxpRootDir1)\trace" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\trace" /T /E /P SDOFFLIN:R
cacls.exe "$(SxpRootDir1)\pfe32.32" /T /E /P Admin:F
cacls.exe "$(SxpRootDir1)\pfe32.32" /T /E /R SDOFFLIN
Account1=A