2016-04-11 10 views
0

Ich habe Windows Service Installation, die bis heute funktionierte.WIX Error 1327. Invalid Drive

Wenn ich laufen msiexec /i "C:\installation.msi" /log "C:\logs.log" TARGETDIR=C:\destinationPath

Ich habe Fehler: E rror 1327. Invalid Drive: D:\ In Protokollen I TARGETDIR wiederholt 3 mal sehen:

Property(N): TARGETDIR = D:\ 
Property(S): TARGETDIR = C:\ 
Property(C): TARGETDIR = C:\ 

In Wix Ich habe

<Property Id="TARGETDIR"/> 

und Installation

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory... 

Was kann falsch sein, dass firt Wert der Eigenschaft TARGETDIR D ist? Ich habe dieses Laufwerk nicht, kann es Cache oder einige Windows-Schlüssel sein? Irgendein Vorschlag ?

Antwort

1

Es würde helfen, mehr vom ausführlichen Protokoll zu sehen, aber wenn die einzigen Protokolleinträge, die sich auf zwischengespeicherte Produkte beziehen, wie Sie gepostet haben, führen Sie keine Neuinstallation durch. Ein neues Setup sagt etwas über das Ausführen von der tatsächlichen MSI-Datei aus und verweist nicht auf den zwischengespeicherten Kontext. Das bedeutet, dass Ihr ProductCode (oder manchmal auch PackageCode) immer noch auf dem System installiert ist und Sie Ihr MSI-Produkt NICHT installieren - Sie führen einen Wartungsmodus für dieses bereits installierte Produkt aus, und suchen nach einem Laufwerk D: \ .

Die Tatsache, dass Sie alle diese Registrierungseinträge entfernt haben und es funktioniert, bestätigt dies, aber es wäre besser gewesen, das installierte Produkt zu finden und es zu deinstallieren. Es gibt alle Arten von Registrierungseinträgen, die sich auf PackageCode, UpgradeCode, Komponenten-ID beziehen, die weiterhin Probleme verursachen können. Wenn Sie Windows fragen würden, welche Produkte eine bestimmte Komponenten-ID verwenden, könnten Sie davon ausgehen, dass es zwei gibt. Wenn Sie Ihr Produkt deinstallieren, werden alle Dateien gelöscht und benutzerdefinierte Aktionen erfolgreich ausgeführt? Wenn das Ref-Zählen von Komponenten-IDs falsch ist, ist das die Art von Sache, die passieren kann.

+0

also wie kann ich neu installieren? Weitere Parameter zu msiexec/i "C: \ installation.msi"/log "C: \ logs.log" TARGETDIR = C: \ Zielpfad? – kosnkov

+1

Das Ändern des ProductCode in unserem WiX sollte funktionieren. – PhilDW

0

, wenn ich alle Protokolle abgeladen mit /lvoicewarmupx Ich sah

MSI (s) (D0:0C) [18:55:43:619]: Using cached product context: machine assigned for product: EDA754DD57D2E6245809CEAB950DA2D7 
MSI (s) (D0:0C) [18:55:43:619]: Note: 1: 1327 2: D:\ 

Dann habe ich aus der Registry entfernt alle Einträge für Schlüssel EDA754DD57D2E6245809CEAB950DA2D7

Und Problem gelöst ist.