2
0
Эх сурвалжийг харах

The Permissions parameter supported by [Files], [Dirs] and [Registry] entries now also allows you to grant permission to the Guests group, the Local Service account, the Network Service account, and to the Creator Owner.

Martijn Laan 6 жил өмнө
parent
commit
c2034aa042

+ 7 - 3
ISHelp/isetup.xml

@@ -5437,11 +5437,15 @@ SignTool=byparam format c:
 <keyword value="User &amp; Group Identifiers" />
 <body>
 <table>
-<tr><td><tt>admins</tt></td><td>Built-in Administrators group</td></tr>
+<tr><td><tt>admins</tt></td><td>Administrators group</td></tr>
 <tr><td><tt>authusers</tt></td><td>Authenticated Users group</td></tr>
+<tr><td><tt>createowner</tt></td><td>Creator Owner</td></tr>
 <tr><td><tt>everyone</tt></td><td>Everyone group</td></tr>
-<tr><td><tt>system</tt></td><td>Local SYSTEM user</td></tr>
-<tr><td><tt>users</tt></td><td>Built-in Users group</td></tr>
+<tr><td><tt>guests</tt></td><td>Guests group</td></tr>
+<tr><td><tt>networkservice</tt></td><td>Network service account</td></tr>
+<tr><td><tt>service</tt></td><td>Local service account</td></tr>
+<tr><td><tt>system</tt></td><td>Local system account</td></tr>
+<tr><td><tt>users</tt></td><td>Users group</td></tr>
 </table>
 </body>
 </topic>

+ 22 - 1
Projects/Compile.pas

@@ -3324,14 +3324,19 @@ procedure TSetupCompiler.ProcessPermissionsParameter(ParamData: String;
   const
     SECURITY_WORLD_SID_AUTHORITY = 1;
     SECURITY_WORLD_RID = $00000000;
+    SECURITY_CREATOR_SID_AUTHORITY = 3;
+    SECURITY_CREATOR_OWNER_RID = $00000000;
     SECURITY_NT_AUTHORITY = 5;
     SECURITY_AUTHENTICATED_USER_RID = $0000000B;
     SECURITY_LOCAL_SYSTEM_RID = $00000012;
+    SECURITY_LOCAL_SERVICE_RID = $00000013;
+    SECURITY_NETWORK_SERVICE_RID = $00000014;
     SECURITY_BUILTIN_DOMAIN_RID = $00000020;
     DOMAIN_ALIAS_RID_ADMINS = $00000220;
     DOMAIN_ALIAS_RID_USERS = $00000221;
+    DOMAIN_ALIAS_RID_GUESTS = $00000222;
     DOMAIN_ALIAS_RID_POWER_USERS = $00000223;
-    KnownSids: array[0..5] of TKnownSid = (
+    KnownSids: array[0..9] of TKnownSid = (
       (Name: 'admins';
        Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
              SubAuthCount: 2;
@@ -3340,14 +3345,30 @@ procedure TSetupCompiler.ProcessPermissionsParameter(ParamData: String;
        Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
              SubAuthCount: 1;
              SubAuth: (SECURITY_AUTHENTICATED_USER_RID, 0))),
+      (Name: 'creatorowner';
+       Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_CREATOR_SID_AUTHORITY));
+             SubAuthCount: 1;
+             SubAuth: (SECURITY_CREATOR_OWNER_RID, 0))),
       (Name: 'everyone';
        Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_WORLD_SID_AUTHORITY));
              SubAuthCount: 1;
              SubAuth: (SECURITY_WORLD_RID, 0))),
+      (Name: 'guests';
+       Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
+             SubAuthCount: 2;
+             SubAuth: (SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_GUESTS))),
+      (Name: 'networkservice';
+       Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
+             SubAuthCount: 1;
+             SubAuth: (SECURITY_NETWORK_SERVICE_RID, 0))),
       (Name: 'powerusers';
        Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
              SubAuthCount: 2;
              SubAuth: (SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_POWER_USERS))),
+      (Name: 'service';
+       Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
+             SubAuthCount: 1;
+             SubAuth: (SECURITY_LOCAL_SERVICE_RID, 0))),
       (Name: 'system';
        Sid: (Authority: (Value: (0, 0, 0, 0, 0, SECURITY_NT_AUTHORITY));
              SubAuthCount: 1;

+ 1 - 0
whatsnew.htm

@@ -72,6 +72,7 @@ For conditions of distribution and use, see <a href="http://www.jrsoftware.org/f
 <p><span class="head2">Other changes</span></p>
 <ul>
 <li>Added new [Setup] section directive: <tt>VersionInfoOriginalFileName</tt>, which sets the original filename version value.</li>
+<li>The <tt>Permissions</tt> parameter supported by [Files], [Dirs] and [Registry] entries now also allows you to grant permission to the Guests group, the Local Service account, the Network Service account, and to the Creator Owner.</li>
 <li>Compiler changes:
 <ul>
   <li>The Compiler IDE Options button <i>Associate .iss files with this compiler</i> can now associate for the current user instead of displaying an error if administrative privileges are not available.</li>