Ich habe ein WiX-Installationsprogramm, das gut funktionierte, aber es ist ein paar Monate her, seit ich daran gearbeitet habe ... also versuche ich nicht, das Installationsprogramm (auf einem rekonfigurierten Rechner) zu erstellen Jetzt kann es nicht jedes Mal gebaut werden. Ich habe versucht, alles zu vereinfachen, um zu isolieren, wo es versagt, aber ich kann immer noch nicht herausfinden, warum. Im Grunde sieht es so aus, als würde es beim Pre-Build-Prozess versagen. Ich hatte eine Länge Pre-Build Event-Befehl, aber ich habe es auf das Wesentliche vereinfacht. Hier ist mein Befehl:WiX Heat Pre-Build-Fehler
call “$(WIX)bin\heat.exe” dir "$(SolutionDir)MyProj\bin\Release" -out “$(ProjectDir)MyFiles.wxs”
Der Fehler Ich erhalte ist:
call “C:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe” dir "C:\Users\MyName\Documents\GitHub\MyProj\bin\Release" -out “C:\Users\MyName\Documents\GitHub\MyProj\Installer\MyFiles.wxs”
The filename, directory name, or volume label syntax is incorrect.
Der Code erscheint mit Code 1 zu beenden, die scheint darauf hinzudeuten, dass es andernfalls einen Dateinamen oder einen Pfad zu finden .. Ich habe jedoch die Pfade überprüft, die im Ausgabeprotokoll gedruckt werden, und die Anwendung heat.exe existiert im Verzeichnis C: \ Programme (x86). Das Verzeichnis (Verzeichnis), das es zu ernten versucht, ist richtig definiert und der Ausgabeort ist ebenfalls korrekt. Also, weiß jemand, warum das scheitert?
aktualisieren
Was unglaublich seltsam ist, dass das auch zum Scheitern verurteilt Ereignisbefehl Pre-Build scheint, wenn ich den Befehl zu vereinfachen, einfach zu versuchen, die heat.exe Anwendung aufrufen (ohne andere Parameter). Ich habe versucht, mein Pre-Build-Ereignis auf den folgende Veränderung:
call “C:\Program Files (x86)\WiX Toolset v3.10\bin\heat.exe”
Wie Sie aus dem beigefügten Bild sehen können, die heat.exe Anwendung in der Tat in dem Verzeichnis, in dem Build-Befehl angegeben befindet. Trotzdem erhalte ich immer noch einen Fehler, der besagt, dass MSBuild fehlgeschlagen ist und mit Code 1 beendet wurde. Wenn ich das Ausgabeprotokoll überprüfe, heißt das, dass die Syntax "Dateiname, Verzeichnisname oder Datenträgerbezeichnung falsch ist". Ich kann jedoch sagen, dass dieses Installationsprogramm vor ein paar Monaten ordnungsgemäß funktionierte, ohne dass die Build-Ereignisse geändert wurden ... also weiß ich wirklich nicht, warum es jetzt nicht funktionieren würde, außer dass ich meinen Computer neu konfigurieren und neu installieren musste Windows 10 kürzlich. Ich habe das neueste WiX-Toolset heruntergeladen und installiert und würde annehmen, dass dies alles ist, was benötigt wird. Aber dieser Fehler bleibt bestehen. Irgendwelche Ideen?
Leider scheint immer noch nicht das Problem auf meinem Rechner zu beheben. – andyopayne
Was ist auch seltsam ist, dass das Pre-Build-Ereignis fehlschlägt, wenn ich den Befehl zu vereinfachen, einfach versuchen, die heat.exe-Anwendung zu starten. Zum Beispiel, wenn ich nur benutze: call "$ (WIX) bin \ he.exe" dann bekomme ich immer noch den gleichen Fehler wie oben. – andyopayne
nach http://stackoverflow.com/questions/6755654/build-events-not-honoring-multiple-command-line-arguments sollten Sie versuchen, "call" $ (WIX) bin \ he.exe "dir" $ (SolutionDir) MyProj \ bin \ Release \ "-out" $ (ProjectDir) MyFiles.wxs "' (Leerzeichen nach "Release \", da \ entkamen der "), ob das funktioniert. –