MyApp Version 1.0 enthielt die Datei foo.dll. Die Version dieser Datei war Version 10.5.567. Jetzt ist MyApp Version 2.0 und die Version von foo.dll ist 2.0.123. Die Version ist niedriger als die alte Version. Der Anbieter, der diese DLL geschrieben hat, entschied sich für die Versionsnummer der Datei. Dies ist keine Entscheidung, die ich ändern kann.Installieren Sie eine Datei unabhängig von der Versionsnummer mit WiX
Wie bekomme ich WiX immer diese Datei zu installieren?
Die Aktion RemoveExistingProducts wird nach der Aktion InstallFinalize geplant und kann auch nicht geändert werden.
InstallShield hatte ein 'immer überschreiben' Flag, aber ich glaube nicht, dass ich dies nachahmen kann, ohne das Verhalten aller Dateien über einen Compiler-Switch zu ändern. Ich will das nicht. Ich möchte nur DIESE Datei aktualisieren.
Ich habe auch versucht,
<RemoveFile Id="foo.dll" On="install" Name="foo.dll" />
Aber das hat nicht funktioniert entweder. Ich bekomme am Ende 'Error 2753 Die Datei foo.dll ist nicht für die Installation markiert' später.
Havent versuchte dies, sieht aber möglich aus. Siehe meine Antwort in diesem Thread für einen Link zu einer Liste verschiedener Ansätze. –
Ich habe versucht, DefaultVersion zu verwenden, um eine .MDE-Datei zu installieren, und es funktionierte gut, als ich den Patch installierte, wurde die Datei korrekt überschrieben. Das einzige Problem war, dass der Patch nicht deinstalliert werden würde. Im Installationsprotokoll wurde "Neue Datei versioniert - vorhandene Datei nicht versioniert" und die Deinstallation für das ursprüngliche Medium genannt. Ich habe das immer noch nicht gelöst, daher wären irgendwelche Vorschläge willkommen. – Dave