¿Cómo agrego el usuario interactivo a un directorio en un Windows localizado usando WiX?

StackOverflow https://stackoverflow.com/questions/170140

  •  05-07-2019
  •  | 
  •  

Pregunta

¿Cómo agrego el usuario interactivo sueco?

NT INSTANS\INTERAKTIV  

o el usuario interactivo en inglés,

NT AUTHORITY\INTERACTIVE  

o cualquier otro grupo de usuarios localizado con permisos de escritura para la ACL de una carpeta de programa?

¿Es esta pregunta realmente " ¿Cómo uso secureObject " ;? No puedo usar la Tabla de permisos de bloqueo porque entiendo que se eliminó la herencia. Los permisos secureObject parecen requerir CreateDirectory en lugar de Directory ...

¿Fue útil?

Solución

Con los últimos lanzamientos de Wix, puede recuperar los nombres localizados de los nombres de usuarios y grupos integrados de uso frecuente a través de una propiedad. Por ejemplo, WIX_ACCOUNT_NETWORKSERVICE contiene el nombre localizado de la cuenta del Servicio de red. Desafortunadamente, a partir de 3.0.4513 NT AUTHORITY \ INTERACTIVE no está entre ellos.

Existe una acción personalizada de muestra de MSI que crea propiedades para muchos de los nombres de usuarios y grupos integrados. Consíguelo aquí . Agregue la CA a su instalador Wix y prográmela temprano en la secuencia de ejecución de la instalación.

Una vez que tenga el nombre de cuenta localizado, agregue un elemento PermissionEx para modificar la ACL de su directorio. Por ejemplo:

<Directory ...>
   <Component ...>
      <CreateFolder>
         <PermissionEx User="[SID_INTERACTIVE]" .../>
      </CreateFolder>
   </Component ...>
</Directory ...>

Otros consejos

No hay forma de que como tal agregue ambos nombres de cuenta a una ACL, ya que son uno y el mismo. El nombre que ve corresponde a un SID, y ese SID es idéntico en las localizaciones en inglés y sueco. En el caso del grupo INTERACTIVO, ese SID es S-1-5-4 .

No he seguido WiX en mucho tiempo, pero espero que tenga que haber una manera de especificar SID para ACL en lugar de nombres de cuenta. Nunca debe confiar en el nombre de la cuenta para cuentas conocidas a menos que no haya absolutamente ninguna manera de evitarlo. Aquí hay una lista de SID conocidos para referencia.

Editar: Esta publicación parece proporcionar una solución a su problema mediante una acción personalizada para traducir los SID a los nombres de las cuentas; aparentemente, WiX no es compatible con el uso de SID para objetos Permission o PermissionEx.

Aquí hay una lista más autorizada de SID conocidos en Q243330 de Microsoft Knownledge Base.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top