OLE-Einschränkungen für Streams

Entwickler von Installationsdatenbanken müssen zwei Einschränkungen bei der Verarbeitung von Streams durch die Implementierung der strukturierten OLE-Speicherung von Win32 kennen. Diese Einschränkungen können sich indirekt auf Installationsprogrammfunktionen durch Transformationen und andere Daten auswirken, die in der Datenbank als Stream gespeichert werden können.

Es gibt zwei relevante Einschränkungen:

  • Binärdaten werden mit einem Indexnamen gespeichert, der erstellt wird, indem der Tabellenname und die Werte der Primärschlüssel des Datensatzes mithilfe eines Punkttrennzeichens verkettet werden. OLE beschränkt Streamnamen auf 32 Zeichen (31 + NULL-Abschlusszeichen). Windows Installer verwendet einen Komprimierungsalgorithmus, der den Grenzwert je nach Zeichen auf 62 Zeichen erweitern kann. Beachten Sie, dass Doppelbytezeichen als 2 zählen.
  • Obwohl mehrere Streams gleichzeitig geöffnet werden können, können Sie einen Stream nicht ein zweites Mal öffnen, bis der erste Verweis geschlossen wird. Dies bedeutet, dass Sie nicht denselben binären Datenstrom auswählen können, der in mehreren Datensätzen gleichzeitig geöffnet werden soll. Versuche, die Binärdaten aus dem zweiten Datensatz zu lesen, schlagen fehl. Außerdem können Sie die Primärschlüssel eines Datensatzes nicht umbenennen, während ein binärer Datenstrom in diesem Datensatz geöffnet ist.