El archivo de instalación de mi aplicación se está generando con WiX. En la configuración de WiX estoy asociando un tipo de archivo que funciona con la aplicación. ¿Cómo puedo asociar un icono con este tipo de archivo en la configuración de WiX?¿Cómo puedo configurar un ícono para un archivo asociado usando WiX?
Respuesta
Así es como lo hice. Declaré:
<Icon Id="Icon.exe" SourceFile="..\Installer\Graph.ico" />
antes </Product>
y añadió como una referencia de la siguiente manera:
<ProgId Id='myApp.exe' Description='Some description' Advertise='yes' Icon='Icon.exe'>
<Extension Id='xyz' ContentType='application/text'>
<Verb Id='open' Sequence='10' Command='Open' Argument='"%1"' />
</Extension>
</ProgId>
DE: http://www.tramontana.co.hu/wix/lesson1.php#1.7
Si la aplicación se encarga de su propio tipo de datos de archivo, tendrá que registrar una asociación de archivos para él. Ponga un ProgId dentro de su componente. FileId debe hacer referencia al atributo Id del elemento File que describe el archivo destinado a manejar los archivos de esta extensión. Tenga en cuenta el signo de exclamación: se devolverá el camino corto del archivo en lugar de la larga:
<ProgId Id='AcmeFoobar.xyzfile' Description='Acme Foobar data file'>
<Extension Id='xyz' ContentType='application/xyz'>
<Verb Id='open' Sequence='10' Command='Open' Target='[!FileId]' Argument='"%1"' />
</Extension>
</ProgId>
Para asignar un icono para este tipo de archivo, tiene que especificar el registro correspondiente entradas a sí mismo dentro de su componente:
<Registry Id='FooIcon1' Root='HKCR' Key='.xyz' Action='write'
Type='string' Value='AcmeFoobar.xyzfile' />
<Registry Id='FooIcon2' Root='HKCR' Key='AcmeFoobar.xyzfile' Action='write'
Type='string' Value='Acme Foobar data file' />
<Registry Id='FooIcon3' Root='HKCR' Key='AcmeFoobar.xyzfile\DefaultIcon' Action='write'
Type='string' Value='[INSTALLDIR]Foobar.exe,1' />
Me gustaría recomendar siguiente mi puesto de desbordamiento de pila situada here de la manera más simple y más elegante de la incorporación de iconos en un recurso sin la necesidad de un proyecto de C++ en una aplicación .NET administrada.
A continuación, aquí es la forma correcta de establecer este a través de Wix:
<Component Id="stackoverflowFileRegistration" Guid="MY_GUID">
<RegistryKey Root="HKCR" Key=".stackoverflow" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="stackoverflow.Document" Type="string" KeyPath="yes" />
<RegistryValue Name="Content Type" Value="application/stackoverflow" Type="string" />
<RegistryKey Key="ShellNew" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Name="NullFile" Value="" Type="string" />
<RegistryValue Name="Data" Value="Default new document Content.. NOTE: you must use a MutiStringValue nodes for multi-line content...." Type="string"/>
</RegistryKey>
</RegistryKey>
<RegistryKey Root="HKCR" Key="stackoverflow.Document" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="stackoverflow Document" Type="string" />
<RegistryKey Key="DefaultIcon" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="[INSTALLDIR]bin\stackoverflow.lib.dll, 1" Type="string" />
</RegistryKey>
<RegistryKey Key="Shell" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryKey Key="openstackoverflowwebsite" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value="Open Stackoverflow" Type="string" />
<RegistryKey Key="command" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Value=""[INSTALLDIR]stackoverflow.exe" /openwebsite "%1"" Type="string" />
</RegistryKey>
</RegistryKey>
</RegistryKey>
</RegistryKey>
</Component>
Esta muestra se registra el icono predeterminado para una extensión de archivo específico (.stackoverflow) que se encuentra en un ensamblado desde el paso 1. Se también muestra cómo crear comandos de clic derecho asociados al Explorador de Windows y agrega un elemento de menú al submenú Nuevo del Explorador de Windows.
Gracias
-Blake Niemyjski
Este código funciona a partir de WIX 3.6 ... –
- 1. ¿Cómo puedo configurar un ícono para un ListViewSubItem?
- 2. ¿Cómo obtengo el ícono asociado con un tipo de archivo?
- 3. ¿Puedo configurar un ícono personalizado para un botón jQueryUI?
- 4. Cómo obtener el ícono asociado de un archivo en HTA (HTML/Javascript/VBScript)
- 5. Generar un archivo ejecutable usando wix
- 6. WiX - ¿Cómo puedo configurar la propiedad condicional
- 7. ¿Cómo puedo activar intellisense en un archivo de configuración asociado usando System.ServiceModel
- 8. ¿Cómo establecer un ícono personalizado para el archivo dll?
- 9. Cómo puedo configurar un icono para mi propia extensión de archivo
- 10. ¿cómo puedo obtener el ícono de archivo?
- 11. Añadiendo un archivo .reg al registro WIX
- 12. ¿Cómo puedo configurar mi proyecto de iPhone para usar un ícono de aplicación independiente para versiones beta
- 13. ¿Cómo puedo cargar un archivo usando Catalyst?
- 14. ¿Puedo utilizar el archivo/etc/hosts para configurar un alias
- 15. ¿Cómo puedo transmitir un archivo usando werkzeug?
- 16. ¿Cómo puedo configurar un formulario para tener un fondo transparente
- 17. ¿Cómo cambiar un ícono para un solo archivo del tipo específico?
- 18. ¿Cómo puedo configurar las opciones de recuperación de un servicio con WiX?
- 19. Cómo abrir un archivo con el programa asociado predeterminado
- 20. ¿Cómo puedo configurar un punto de entrada para un archivo DLL
- 21. Usando WiX para crear un directorio virtual de IIS
- 22. ¿Puedo establecer una licencia personalizada usando WiX?
- 23. ¿Cómo generar WiX XML desde un archivo .reg?
- 24. ¿Cómo instalo con permisos elevados usando un instalador de WiX?
- 25. ¿Cómo obtengo el ícono de un archivo en Java?
- 26. ¿Cómo puedo recuperar un ícono de sitio web?
- 27. cómo configurar un icono de menú en mac osx usando wx
- 28. ¿Cómo puedo configurar un controlador global DeadlineExceededError?
- 29. Obtener ícono de la aplicación predeterminada que abre un archivo
- 30. Cómo configurar clientes para un servicio wcf?
Y qué hace el Foobar.exe interior Valor = '[INSTALLDIR] Foobar.exe, 1' /> refiere? ¿Y dónde reside? – Filip
el enlace está muerto – DonDon