Ich möchte in WiX 3 (vorzugsweise über eine Bedingung) erkennen, ob eine bestimmte Baugruppe in der GAC ist. Ich kenne den Namen, die Version und das öffentliche Schlüssel-Token dieser Assembly. Gibt es irgendwelche eingebauten Möglichkeiten, oder muss ich eine CustomAction schreiben, um das zu tun? Und wie würde ich diese CustomAction einrichten? (Das wäre bevor die Installation beginnt.)Erkennen, ob sich eine Baugruppe über WiX 3 im GAC befindet?
2
A
Antwort
3
Sie können FileSearch verwenden, um nach der Datei in% windir% \ assembly \ GAC (Wenn Sie alle anderen Werte kennen) ein bisschen hacky aber funktioniert.
Der vollständige Dateipfad wird in einer Eigenschaft gespeichert, die Sie in einer Bedingung vor dem Start der Installation verwenden können.
2
Muss vorsichtig sein. Assemblys können in mehr als nur dem Ordner% windir% \ assembly \ GAC installiert werden. Meine Assemblys werden meistens in% windir% \ assembly \ GAC_MSIL installiert. Suchen Sie einfach die% windir% \ Assembly \ und Sie sollten in Ordnung sein.
Verwandte Themen
- 1. Wie referenziere ich eine Baugruppe, die sich im GAC befindet?
- 2. Wenn sich eine Assembly im GAC befindet, müssen alle aufgerufenen Assemblys ebenfalls im GAC enthalten sein?
- 3. Erkennen, ob sich ein Browser im Vollbildmodus befindet
- 4. Muss eine (.net) COM + -Baugruppe im GAC installiert werden?
- 5. Überprüfen Sie GAC für eine Baugruppe
- 6. Was ist der 'richtige' Weg, eine Baugruppe im GAC zu registrieren/zu installieren?
- 7. Erkennen, ob sich das aktuelle Abonnement im Test für Google Play Store befindet?
- 8. Webpart befindet sich im Bearbeitungsmodus?
- 9. Wie erkennen Sie, ob sich der Mauszeiger über dem Desktop befindet?
- 10. Woher weiß ich, ob es sich im unbeaufsichtigten Modus befindet?
- 11. Überprüfen Sie, ob sich die Datei im (Unter) Verzeichnis befindet
- 12. Prüfen, ob sich ein Widget im Layout befindet Qt
- 13. Prüfen, ob sich ein Marker im aktuellen sichtbaren Bereich befindet
- 14. erkennen, ob Ansichten sich überlappen
- 15. Wie überprüft man, ob sich eine geöffnete Datei im Lesemodus oder im Schreibmodus befindet?
- 16. Befindet sich sails.js noch im Betamodus
- 17. Kann über ein Benutzerskript ermittelt werden, ob sich Chrome im Inkognito-Modus befindet?
- 18. Gibt es eine einfachere Möglichkeit zum Anzeigen/Suchen, was sich in der GAC befindet?
- 19. Wie überprüft man, ob sich eine Maus über einem Steuerelement befindet
- 20. Wix - Assemblys für GAC dynamisch registrieren
- 21. WiX erkennen. Net 4.0.3
- 22. Wie überprüft man, ob sich ein Objekt im jCarousel-Clip im sichtbaren Clip-Bereich befindet?
- 23. Wie erkennen Sie, ob sich die Maus innerhalb des gesamten Formulars und der untergeordneten Steuerelemente befindet?
- 24. Wie erkennt man, ob sich ein Surface Contact über einem ScatterView befindet?
- 25. wix Das Verzeichnis befindet sich im Benutzerprofil, ist aber nicht in der RemoveFile-Tabelle aufgeführt
- 26. Wo befindet sich Model.py im Django-Quellcode?
- 27. Wo befindet sich _md5 Modulcode im System?
- 28. .bowerrc befindet sich wo im Projektverzeichnis?
- 29. Wo befindet sich die Entwicklerdokumentation für Microsoft.ApplicationHost.WritableAdminManager?
- 30. Symfony2 - Erkennen, ob sich der Benutzer in einer sicheren Firewall befindet
Funktioniert für mich. Scheint ein bisschen hacky, direkt in das GAC-Verzeichnis zu gehen, aber ansonsten ist es ziemlich sauber. Die Verzeichnisse werden nach Name, Version und Token mit öffentlichem Schlüssel benannt, was praktisch genau das ist, was ich habe. – Promit
Da die Assembly wie [Windir] \ assembly \ GAC_MSIL \ [DllNameWithout.dll] \ _ \ [DllNameWid.dll] benannt ist, funktionierte sie für mich nur bis [DllNameWithout.dll] –
Sonhja