Meine Anwendungsinstallationsdatei wird mit WiX erstellt. In der WiX-Konfiguration verknüpfe ich einen Dateityp, der mit der Anwendung arbeitet. Wie kann ich diesem Dateityp in der WiX-Konfiguration ein Symbol zuordnen?Wie kann ich ein Icon für eine assoziierte Datei mit WiX einstellen?
Antwort
So habe ich es gemacht. Ich erklärte:
<Icon Id="Icon.exe" SourceFile="..\Installer\Graph.ico" />
vor </Product>
und sie als Referenz wie folgt hinzugefügt:
<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>
AB: http://www.tramontana.co.hu/wix/lesson1.php#1.7
Wenn Ihre Anwendung einen eigenen Datei-Datentyp behandelt, müssen Sie dafür eine Dateizuordnung registrieren. Fügen Sie eine ProgId in Ihre Komponente ein. FileId sollte sich auf das Id-Attribut des File-Elements beziehen, das die Datei beschreibt, die für die Dateien dieser Erweiterung gedacht ist. Beachten Sie die Ausrufezeichen: es wird den kurzen Pfad der Datei statt der lang zurück:
<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>
Um ein Symbol zu diesem Dateityp zugeordnet werden, müssen Sie die entsprechenden Registrierungs angeben Einträge sich in Ihrer Komponente:
<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' />
würde ich nach meinem Stack-Überlauf Beitrag empfehlen here sich für die einfachste und eleganteste Art und Weise Ikonen der Einbettung in eine Ressource ohne die Notwendigkeit eines C++ - Projekts in einer verwalteten .NET-Anwendung.
Als nächstes hier ist der richtige Weg, dies über Wix zu setzen:
<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>
Dieses Beispiel das Symbol Standardregister für eine bestimmte Dateierweiterung (.stackoverflow), dass es in einer Baugruppe aus Schritt 1 befindet zeigt auch, wie Sie mit Windows Explorer verknüpfte Rechtsklickbefehle erstellen und dem Windows Explorer-Untermenü "Neu" ein Menüelement hinzufügen.
Dank
-Blake Niemyjski
Dieser Code funktioniert ab WIX 3.6 ... –
- 1. ändern Wix Desktop Icon
- 2. Wix kann Symbol "Icon" nicht auflösen
- 3. Wie kann ich ein Icon für meine eigene Dateierweiterung setzen
- 4. Wie bekomme ich Datei Icon?
- 5. Wie kann ich mehrere assoziierte Objekte mit Factory Girl definieren?
- 6. Kann ich ein anderes Icon für den Android Task Switcher einstellen?
- 7. Wie erstelle ich eine Ereignisprotokollquelle mit WiX
- 8. Wie kann ich Hintergrundfarbe für eine Szene einstellen?
- 9. Wie kann man eine änderbare Datei in WiX brennen?
- 10. WiX: Wie kann ich eine Eigenschaft extern festlegen?
- 11. Kann ich eine benutzerdefinierte Lizenz mit WiX einrichten?
- 12. Wie man eine WiX benutzerdefinierte Aktion DLL-Datei mit Abhängigkeiten
- 13. Wix * .msi Installer Icon und Logos
- 14. Wie kann ich Hintergrundfarbe einstellen? Bootstrap
- 15. Kann ich max_retries für requests.request einstellen?
- 16. Wie kann ich ein Gdk.Window Task Icon oder Titel bekommen?
- 17. Wie kann ich MPVolumeView mit swift einstellen?
- 18. JavaFX ScatterChart: Wie setze ich ein Icon für Datenpunkte?
- 19. In WiX Wie kann ich eine IIS-Website namentlich auswählen?
- 20. Wie RunDll32 eine Datei ohne die Installation mit WiX?
- 21. Wie erstelle ich ein Label mit Close-Icon in Bootstrap?
- 22. Wix: Wie kann ich `C: \ Windows \ hh.exe` als Quelle des Symbols für meine CHM-Dateiverknüpfung anzeigen?
- 23. Ein XML-Wert in eine Eigenschaft für Wix lesen
- 24. Wie kann ich die WiX-Installer-Version auf die aktuelle Build-Version einstellen?
- 25. WiX - Wie erstelle ich ein Unterverzeichnis?
- 26. Wix Burn, wie kann ich Downgrade zulassen?
- 27. Wie mache ich in MonoMac eine C# -Applikation nur mit einem Tray-Icon (kein Dock-Icon)?
- 28. Wie bekomme ich ein offenes Icon mit der SHGetFileInfo() Methode?
- 29. Wie kann ich ein Symbol mit einem RELATIVEN Pfad für eine Linux-Desktop-Eintragsdatei angeben?
- 30. Rails: Aktion für assoziierte Modelle erstellen
Und was bedeutet das Foobar.exe innerhalb Value = '[INSTALLDIR] Foobar.exe, 1' /> siehe? Und wo liegt es? – Filip
der Link ist ungültig – DonDon