Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

IsolatedComponent


4 replies to this topic

ANo

ANo
  • Full Members
  • 179 posts

Posted 15 February 2012 - 15:29

Hallo ich habe eine Frage über die Benutzung von Isolated Components.

Ich habe ein COM-Objekt und einenen entsprechenden Eintrag in der Tabelle IsolatedComponents.

Die Installation einer Kopie des COM-Objektes in ein lokales Verzeichnis funktioniert.

In einem gemeinsam benutzten Verzeichnis wird das COM-Objekt aber nicht aktualisiert??? Das verstehe ich nicht.

Das LogFile sagt:
00611: (Client): MSI © (FC:54) [11:15:41:296]: Disallowing installation of component: {5D7C12CC-5855-401A-A3DC-26451F60E0A8} since the keyfile exists and the component is marked to never overwrite existing installations

Ich bin/war der Meinung, ich kann die COM-Objekte im gemeinsam benutzten Verzeichnis wie gehabt installieren - und mit Isolated Components spare ich mir das Einbauen eines lokalen COM-Objektes.

Beispiel der Struktur
------------------------
App1 installiert mit z.B.
COM32_Object1 / Vers.: 2.1.12063 / GUID-1 / Eintrag in IsolatedComponent

App2 installiert mit z.B.
COM32_Object1 / Vers.: 2.1.12072 / GUID-1 / Eintrag in IsolatedComponent

--> keine Aktualisierung der gemeinsamen Datei unter
C:\Program Files (x86)\Common Files\COM
es bleibt hier COM32_Object1 mit Vers.: 2.1.12063 liegen

--> C:\Program Files (x86)\App1 mit COM32_Object1 / Vers.: 2.1.12063 = OK
--> C:\Program Files (x86)\App2 mit COM32_Object1 / Vers.: 2.1.12072 = OK

Gruß + Danke für jeden Hinweis
André




ali

ali
  • Full Members
  • 1,008 posts

Posted 16 February 2012 - 15:10

00611: (Client): MSI © (FC:54) [11:15:41:296]: Disallowing installation of component: {5D7C12CC-5855-401A-A3DC-26451F60E0A8} since the keyfile exists and the component is marked to never overwrite existing installations

Die Komponete wurde in den Komponenteeinstellungen auf "Never Overwrite" = Yes" eingestellt. Bei der Komponente die du ins Programfiles Verzeichnis installierst hingegen wird ein "No" stehen oder vorher war dort keine Komponente installiert.

Edited by ali, 16 February 2012 - 15:10.


ANo

ANo
  • Full Members
  • 179 posts

Posted 16 February 2012 - 16:14

Hallo Ali, danke das Du mir antwortest.

Aber ich habe vorher schon nachgeschaut, keine der Komponenten in die in einen Shared Folder installiert wird, ist von mir mit "Never Overwrite = Yes" versehen wurden. Ich glaube ich habe diese Option noch nie benutzt in den 10 Jahre mit IS.

Aber man sollte ja nie nie sagen.

Ich glaube Isolated Component hält die Finger drauf.
Wenn ich die Komponenten doppelt halte (für shared + lokal), was ich eigentlich vermeiden wollte, funktioniert es wie gehabt, d.h. Dateien mit niedriger Version werden im Shared Folder überschrieben.

Ich mache noch mal Tests.

Die Option IsolatedComponents wird von mir das erste mal benutzt - in den 10Jahren.

Gruß
André

ali

ali
  • Full Members
  • 1,008 posts

Posted 16 February 2012 - 16:34

da hab ich was überlesen, du nutzt also nur die ein Componente und hast den Eintrag im IsolatedComponent gemacht. Den Beitrag von Microsoft kennst du dann sicher schon, könnte deine Vermutung bestätigen, evtl. erkennt der Installer nicht das es sich um die selbe Anwendung handelt die aktualisiert wird.

http://msdn.microsof...2(v=vs.85).aspx

ANo

ANo
  • Full Members
  • 179 posts

Posted 17 February 2012 - 10:48

Hallo Ali, danke für den Artikel. Dies ist wohl die Erklärung für das Verhalten der COM-Objekte im Shared Folder.

--> Installing the application does not overwrite other versions of the shared files by other applications.
--> Subsequent installations of other applications using different versions of the shared files cannot overwrite the files used by this application.

Da werde ich wohl in den sauren Apfel beißen und auf IsolatedComponent verzichten und stattdessen, wie früher schon, ca. 150 Componenten neu anlegen (die für die lokale 32/64bit-Installation) sad.gif .

Gruß + Danke
André