Ho un'app che viene installata con WiX 3 - la maggior parte dell'installazione funziona bene, ma cercare di far funzionare il collegamento sul desktop mi sembra un problema ...WiX 3 mi fa impazzire - prova a creare un collegamento sul desktop
Ho la mia app in fase di installazione e ho già un collegamento nella cartella Start Menu - funziona bene. Ma come faccio a ottenere il collegamento desktop attivo e funzionante?
<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>
Gli errori Continuo a ricevere sono:
ICE18: KeyPath per i componenti: 'DesktopShortcut' è di repertorio: 'DesktopFolder'. La coppia Directory/Component deve essere elencata nella tabella CreateFolders.
ICE38: Component DesktopShortcut installa nel profilo utente. È necessario utilizzare una chiave di registro in HKCU come KeyPath , non un file.
ICE43: Componente DesktopShortcut ha scorciatoie non pubblicizzate . Dovrebbe utilizzare una chiave di registro in HKCU come KeyPath, non un file .
Non capisco cosa diavolo WiX 3/Windows Installer sta cercando di dirmi qui .... qualcuno ??
Entrambe le componenti, AppShortcut
e DesktopShortcut
, sono in effetti parte della funzione "principale": non vedo alcun problema. Io non riesco a capire cosa diavolo potrebbe essere sbagliato qui ....
Aggiornamento: ok, così ho aggiunto alcune cose chiave di registro al mio collegamento sul desktop
<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>
ora i messaggi di ghiaccio sono andato, ma quando provo a installare l'app, ottengo l'errore 1909 - la cartella di destinazione non esiste, o non hai il permesso di scrivere ad esso (o qualcosa del genere)
Aggiornamento 2: sopra il codice di esempio fornito funziona su Windows XP, ma continua a non riuscire su Win Server 2003: - (Altre idee ??
questo problema ha fatto anche impazzire! e ancora scricchiolare ... perché ho bisogno di farlo funzionare su Windows 7 –