James Hawkins wrote:
- static const WCHAR Create[] = {
'C','R','E','A','T','E',' ','T','A','B','L','E',' ',
'`','_','S','t','r','e','a','m','s','`',' ','(',' ',
'`','N','a','m','e','`',' ','C','H','A','R','(','5','6',')',' ',
'N','O','T',' ','N','U','L','L',',',' ','`','D','a','t','a','`',' ',
'O','B','J','E','C','T',' ','P','R','I','M','A','R','Y',' ',
'K','E','Y',' ','`','N','a','m','e','`',')',0};
This is wrong as the _Streams table shouldn't appear in the _Tables table. Also, changes added to this table won't be reflected in the actual streams in the .msi file. I think that the best way to implement this is to return a custom view from TABLE_CreateView that is implemented on top of OLE structured storage functions.