Hallo Community
Visual Studio generiert ja z.T. automatisch Dateien, wenn man mit COM / ActiveX arbeitet. Diese sehen dann so aus: Interop.xxx.dll, AxInterop.xxx.dll, xxx.tlb
Dabei erhalten diese Dateien **immer **die Dateiversion 1.0.0.0
Nun erstelle ich im Visual Studio ein Setup-Projekt und binde meine Assembly ein. Dabei werden die von VS erzeugten Dateien (Interop, AxInterop, etc..) autom. miteingebunden, aufgelistet unter "Detected Dependencies".
Das Problem ist nun, dass bei der Ausführung des Setups die "generierten" Dateien auf dem Zielrechner nicht geschrieben werden, wenn sie bereits vorhanden sind, weil die Dateiversion die gleiche ist. --- > 1.0.0.0
... das ist meine Vermutung...
Default File Versioning: Both Files Have a Version
Testhalber hab' ich mit einem speziellen Tool die Version der Interop-Dateien auf 1.0.0.1 erhöht und die Installation hat die alte Version wie erwartet überschrieben.
Wie lässt sich das einfacher lösen?
in der Zwischenzeit hab' ich das Tool "Orca" gefunden, damit lässt sich ein MSI-File editieren:
http://www.brentnorris.net/blog/archives/319
... und hab den Eintrag REINSTALLMODE=amus gemacht:
http://www.codeproject.com/tips/54850/REINSTALLMODEequalsamus.aspx
so werden die Dateien ohne Rücksicht auf Version überschrieben...