tutorial - Wix File Association con archivo estándar de Windows
wix visual studio 2012 (2)
Estoy trabajando en un proyecto Wix. Necesito asociar una nueva extensión de archivo. En sí mismo, parece simple. El problema es que quiero asociar una nueva extensión como un tipo de archivo de texto que se puede abrir con Windows NotePad.exe estándar. El problema / inquietud que tengo es que no quiero copiar mi versión de Notepad de XP y tenerla instalada dentro del System32 del usuario final y sobrescribir su Notepad para XP, Vista, Windows7, etc. que ya debería estar allí.
¿Cómo debería hacer referencia a esta asociación?
RESPUESTA FINAL acreditada a @Sunil
A Wix 3.5 no le gustaba el archivo de destino con la carpeta del sistema y el nombre del archivo ... Entonces, en mi componente / directorio, creé una entrada de ID de archivo apuntando al archivo en cuestión, ENTONCES, la asociación de extensión a esta referencia de ID de archivo como a continuación...
<File Id="LinkingNotePad" Source="$(env.windir)/Notepad.exe" ></File>
<ProgId Id="MyProgID" Description="Text files for my new extension" Advertise="no" >
<Extension Id="myExt" ContentType="application/text" Advertise="no" >
<Verb Command="Open" Id="regMyProgID" TargetFile="LinkingNotePad" Argument="%1" />
</Extension>
</ProgId>
En el ejemplo anterior, no puede resolver el archivo de destino ya que no le he indicado explícitamente dónde encontrarlo. No quiero que tome mi versión y sobrescriba la versión de los usuarios.
Gracias
Se puede acceder a todos los archivos del sistema usando la variable WIX "SystemFolder".
SystemFolder le dará la ruta predeterminada de la carpeta de Windows. Por lo tanto, tendrá TargetFile=[SystemFolder]Notepad.exe"
Windows Installer no admite asociaciones de archivos para productos ya instalados. Por lo tanto, si desea crear una asociación de archivos para un archivo existente, puede intentar crearla manualmente a través de las entradas de registro: