Tengo una aplicación que se está instalando con WiX 3: la mayor parte de la instalación funciona bien ahora, pero intentar hacer que funcione el atajo de escritorio parece costarme ...WiX 3 me vuelve loco: intento crear un acceso directo en el escritorio
Tengo mi aplicación instalada y ya tengo un acceso directo en la carpeta del menú Inicio - funciona bien. Pero, ¿cómo puedo poner en marcha el acceso directo de escritorio?
<Product Id="*" Name="....." UpgradeCode="MY-GUID">
<Package Id="*" InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="foobar.cab" EmbedCab="yes" />
<Property Id="ALLUSERS">1</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="FooBar"/>
</Directory>
<Directory Id="DesktopFolder" SourceName="Desktop"/>
<Directory Id="ProgramFilesFolder">
<Directory Id="FoobarDir" Name="FOOBAR">
<Directory Id="INSTALLLOCATION" Name="FooApp">
<Component Id="MainFiles" Guid=".....">
<File Id="FooMainApp" Source="FooMainApp.exe" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
....
<!-- this shortcut here works just fine ... -->
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="AppShortcut" Guid="...">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="FooBarApp" Description="..."
Target="[INSTALLLOCATION]FooMainApp.exe"
WorkingDirectory="INSTALLLOCATION"/>
</Component>
</DirectoryRef>
<!-- but this shortcut here never seems to work .. ... -->
<DirectoryRef Id="DesktopFolder">
<Component Id="DesktopShortcut" Guid="....." >
<Shortcut Id="DesktopAppShortcut"
Advertise="no"
Name="FooBarApp" Description="...."
Target="[INSTALLLOCATION]FooMainApp.exe"
WorkingDirectory="INSTALLLOCATION"/>
</Component>
</DirectoryRef>
Los errores me siguen dando son:
ICE18: KeyPath para Componente: 'DesktopShortcut' es Directorio: 'DesktopFolder'. El par de directorio/componente debe ser en la tabla CreateFolders.
ICE38: Componente DesktopShortcut se instala en el perfil del usuario. Debe usar una clave de registro en HKCU como su KeyPath, no como un archivo.
ICE43: Componente DesktopShortcut no tiene accesos directos anunciados . Debe utilizar una clave de registro en HKCU como su KeyPath, no como un archivo .
No entiendo qué diablos WiX 3/Windows Installer está tratando de decirme aquí ... ¿alguien?
Ambos componentes, AppShortcut
y DesktopShortcut
, son de hecho parte de la función "principal" - No veo ningún problema allí. No puedo entender por qué en la tierra podría estar mal aquí ....
Actualización: bien, por lo que añade un poco de materia clave de registro a mi acceso directo del escritorio
<Component Id="DesktopShortcut" Guid="BF3587B4-F52E-411E-8814-CFCBF8201C0D">
<RegistryKey Root="HKCU" Key="Software\Foo Inc\FooBarApp\Installed"
Action="createAndRemoveOnUninstall">
<RegistryValue Name="DTSC" Value="1" Type="integer" KeyPath="yes"/>
</RegistryKey>
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder"
Name="FooBar" WorkingDirectory="INSTALLLOCATION"
Icon="foobar.ico"
Target="[INSTALLOCATION]FooMainApp.exe"/>
</Component>
ahora los mensajes de hielo son desaparecido, pero cuando intento instalar la aplicación, aparece el error 1909: la carpeta de destino no existe o no tiene permiso para escribir en ella (o algo así)
Actualización 2: El código de muestra anterior proporcionado funciona en Win XP, pero sigue fallando en Win Server 2003: - (¿Alguna idea más?
este tema me hizo también una locura! y todavía está enloqueciendo ... porque necesito hacerlo funcionar en Windows 7 –