2012-06-02 58 views

Respuesta

52

definir la carpeta de esta manera:

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="CommonAppDataFolder"> 
     <Directory Id="TestFolder" Name="test"> 
      <Directory Id="ExampleFolder" Name="example" /> 
     </Directory> 
    </Directory> 
</Directory> 

La parte importante aquí es la CommonAppDataFolder Id, que se conoce por el instalador de Windows. Puede encontrar la lista completa de las carpetas de sistema conocidas en el Windows Installer Property Reference.

Si instala archivos en esa carpeta, se creará implícitamente. Si no, puede obligarlo a ser creado mediante la instalación de un componente de la siguiente manera:

<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE"> 
    <CreateFolder /> 
</Component> 
+0

me sale este error cuando se utiliza: 'error CNDL0205: El Directorio con Id 'CommonAppDataFolder' no es un directorio raíz válido. '(más un poco más sobre solo tener un único directorio raíz por producto). ¿Qué estoy haciendo mal? – noelicus

+0

@noelicus: en el instalador de Windows, el directorio padre de nivel superior siempre debe ser TARGETDIR. Actualizaré mi respuesta para aclarar esto. –

+0

@WimCoenen ¿Es posible copiar carpetas/archivos1 ... a ... archivos5 durante la instalación del instalador wix? – Royal

11

Bajo <Product> puede introducir:

<DirectoryRef Id="TARGETDIR"> 
     <Directory Id="CommonAppDataFolder"> 
     <Directory Id="CommonAppXXXX" Name="test"> 
      <Directory Id="CommonAppYYYY" Name="example"> 
      <Component Id="CreateProgramDataZZZ" Guid="ABC-ETC"> 
       <CreateFolder /> 
      </Component> 
      </Directory> 
     </Directory> 
     </Directory> 
    </DirectoryRef> 

y referencia CreateProgramDataZZZ el componente en su feature.

También puede ser útil para establecer permisos en el directorio de la siguiente manera:

<CreateFolder> 
    <util:PermissionEx User="Users" GenericAll="yes" /> 
</CreateFolder> 

(en lugar de <CreateFolder />)

+0

¿alguien tiene una idea para crear una carpeta y mover archivos en la misma carpeta? – Sudhakar

+0

usa WIX_ACCOUNT_USERS en User =, ya que la cuenta cambiará en otros idiomas. – LeoPucciBr

Cuestiones relacionadas