Ich habe das WIX-Bereitstellungsprojekt in VS2010. Meine Anwendung benötigt MVC 3.0 installiert. Die Frage lautet wie erstelle ich eine Startbedingung im Installer, damit überprüft wird, ob MVC3 auf dem Server vorhanden ist?
Dies scheint eine einfache Frage zu sein, aber alle mir bekannten Methoden, dies zu tun, haben Probleme:
1) Verwendung von Standardproperties zur Überprüfung der Anwendungsinstallation (wie im http://weblogs.asp.net/jacqueseloff/archive/2009/04/17/detecting-asp-net-mvc-1-0-using-wix.aspx gezeigt):
Installed OR ASP_NET_MVC_3_0
Das Problem ist, dass es immer als falsch ausgewertet wird. Möglicherweise gibt es keine solche Eigenschaft "ASP_NET_MVC_3_0". Zudem funktioniert es nicht einmal beim Beispiel mit der MVC1.0-Überprüfung.
2) Manuelle RegistrySearch-WIX-Bedingung. Das Problem hier ist, dass ich keinen Registrierungsknoten habe HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\ASP.NET MVC 3 Dies ist die zweite Frage: Warum fehlt es?? Ich habe definitiv MVC 3 installiert. Und Mvc 1.0 und 2.0 davor, aber es gibt keinen MVC-Knoten unter dem ASP.NET-Zweig (nur Unterchlüssel 2.0.50727.0 und 4.0.30319.0).
3) FileSearch, um die MVC-DLL zu finden.
Installed OR ASP_NET_MVC_3_0_DLL
Aber es ist nicht garantiert, dass MVC sich in den Programmdaten befindet - es könnte auch an einem anderen Ort installiert sein.
Ich denke, die beste Antwort wäre, warum die MVC-Installation keinen Registrierungseintrag gemacht hat und wie man die Situation auf dem Server verhindern kann. Aber jede andere Lösung für das Hauptproblem (Startbedingung) wäre hilfreich.
PS: Mein Betriebssystem ist Windows 7.
1 Stimmen
Wir verteilen die mvc dll's mit unserer Anwendung und verlassen uns nicht darauf, dass sie installiert sind. Viel einfacher und einfacher und dann müssen Sie nicht nach ihnen mit WiX suchen.
0 Stimmen
Vielen Dank, wir haben auch eine solche Variante in Betracht gezogen. Es wäre jedoch besser herauszufinden, ob es bereits installiert ist.