DIRCA_CHECKFX Return Value 3 - VS-2013-Bereitstellung-Projekt
Habe ich die gefürchtete Frage von meiner versuchten installation von MSI:
MSI (c) (98:B0) [18:01:22:818]: Invoking remote custom action. DLL: C:\DOCUME~1\sspencer\LOCALS~1\Temp\1\MSI19.tmp, Entrypoint: CheckFX
MSI (c) (98:FC) [18:01:22:833]: Cloaking enabled.
MSI (c) (98:FC) [18:01:22:833]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (98:FC) [18:01:22:833]: Connected to service for CA interface.
Action ended 18:01:22: DIRCA_CheckFX. Return value 3.
Nach ein bisschen Graben, das ist eigentlich der angibt, dass die DLL nicht laden geradezu, den CA-server konnte eine Verbindung herstellen und starten schlagen die DLL-Einstiegspunkte.
Ich verwendet, orca und 7zip zu entpacken Sie die benutzerdefinierte Aktion für die DIRCA_CheckFX, die von Visual studio eingefügt, wenn Sie das Bereitstellung-Projekt baut. Ich habe mir die DLL und dann ausgeführt Dependency Walker in das host-system (Server 2003 R2), das gab die Fehlermeldung:
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Ich das system neu kompiliert mit VS 2010 compiler, extrahiert die DLL und lief dependency walker auf, die nicht den gleichen Fehler. I. e VS 2010 Zusammenstellung funktioniert, VS 2013 Kompilierung schlägt fehl, da das mitgelieferte DLL nicht laden in die Zielumgebung.
Meine Frage ist wie behebe ich die DLL(s) fehlen, um zu beheben, dass Fehler vom Dependency Walker.
- Wenn es mir war, würde ich wechseln zu einem Werkzeug, das intelligent genug, um zu wissen, wie Sie überprüfen für .NETTO ohne Verwendung von benutzerdefinierten Aktionen. Dies ist, was AppSearch ist für.
- Sag das Microsoft, schrieb Sie die CA als Teil eines deployment-Projekt, ich versuche nur, um meine Umgebung nach vorne, ohne eine volle WiX umschreiben.
- Garbage in garbage out. Es ist Ihr problem jetzt. Sorry.
- BTW, Umzug in WiX ist mehr wie ein refactoring dann eine Neufassung. Ich Laufe ein open-source-Projekt, bietet eine grafische UI-Designer und Projekt-Vorlagen, um es allen leichter. Ich bezweifle, dass es dauern würde, mehr als 1-2 Stunden zu konvertieren Sie Ihren Installateur, wenn Sie jemals gerne eine Kostenlose team viewer-Sitzung.
- hast du das gelöst? Dies ist immer noch ein problem für uns bauen Installateure in VS2013 im Vergleich zu 2010 mit dem neuen installer-Erweiterung. Mein Kollege hat eine Frage gestellt über dieses hier stackoverflow.com/questions/25039568/...
- Trommelwirbel: die Lösung war die Arbeit im Jahr 2013, dann bauen die MSI in VS 2008... Microsoft habe nicht die Absicht, die Festsetzung der DLL Problem, und als solches ist die einzige Wahl. Sie könnten den Schmerz über den WiX-tools zum reverse-Engineering Ihrer MSI DB, aber das wird hässlich. Ich Kämpfe für ein budget gerade jetzt, zu schreiben, die MSI...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Installiert sein muss, VS 2010, von der aus Sie können das gültig-Datei "dpca.dll".
dpca.dll
ausC:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\Deployment
zuC:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\VSI\bin
.Den Vorschau der .vdproj Auferstehung verwendet DLLs, die keine Unterstützung für Windows XP oder Server 2003. Microsoft veröffentlicht ein update möglicherweise wurde dieser Fehler behoben.
Hier ist was ich getan habe um dieses Problem zu umgehen, die für ein 32-bit-Implementierung.
Erstellen des setup-Projekts in VS2010 einmal. Dieses Paket ist nicht verbissen durch die Frage, aber ich wollte Sie nicht haben, um Gebäude in eine andere VS version.
Öffnen Sie die resultierende msi-Datei mit Orca, wählen Sie den Binary-Tabelle und exportieren Sie den Inhalt der MSVBDPCADLL in eine Datei.
Nun, nachdem Sie bauen es in VS2013 verwenden Sie Orca, um den import der exportierten Daten in ein Binäres\MSVBDPCADLL zu beheben Paket.
Ich habe eine ähnliche Sache mit den 64-bit-Projekt, aber in diesem Fall kommt es zu importieren die richtige InstallUtil binäre (werden C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtilLib.dll).
Visual Studio deployment Projekte waren so schrecklich, dass Microsoft entfernt Sie aus Visual Studio 2012. Die Entwickler waren so unwissend, warum Sie schrecklich waren, dass Sie bettelte und bat Sie zurück zu kommen. Die smarten Jungs bei Microsoft, die wissen, MSI, Links das Gebäude und die Menschen, die übrigen Gaben sich die Entwickler darum bat zurück zu kommen.
Einer derer, die wirklich smarten Jungs fasste es perfekt in einem tweet:
Schrieb ich einen Artikel über meine Gefühle: Visual Studio Installer-Auferstehung
Reden wir also über die Art und Weise das Werkzeug versagt, Sie dieser Zeit. Nehmen Sie sich einen Augenblick Zeit und Lesen Sie diesen Artikel, geschrieben von einem der anderen wirklich klugen verlassen MSFT:
Zataoca: Benutzerdefinierte Aktionen sind (in der Regel) ein Eingeständnis des Scheiterns.
VDRPOJ erstellt eine benutzerdefinierte Aktion etwas zu tun, was MSI gemacht haben könnte nativ und jetzt ist es zu Versagen. Also lassen Sie uns sagen, finden Sie die DLL, und befestigen Sie Sie an der Arbeit auf Ihrem Rechner. Was passiert, wenn Sie den Versand Ihrer MSI 1.000.000 Maschinen? Wie viele Maschinen es nicht gibt? Wie viele support-Anrufe, die Sie bekommen? Wie viele tweets wird Sie bekommen, dass Ihr Produkt saugt?
Einfach gesagt, ich würde wiederholen Sie den installer mit einem besseren tool wie dem Windows Installer XML und industrietaugliche Windows Installer XML. Wenn Sie das Geld ausgeben InstallShield Professional ist eine gute Wahl auch.