Update on msi JScript/VBScript support functions
mk144210 at bcm.tmc.edu
Fri Feb 23 19:20:01 CST 2007
Hi, just wanted to update everybody on my work with this, sorry I have
not been good at replying to personal emails lately. I am not currently
attaching any code but will clean things up and then submit my patches
to wine-patches soon.
So, the good news is that, as a proof of concept, I have gotten the
Vector NTI installer to work successfully, which requires the JScript
functionality. Specifically, this tests custom actions 5/6 and 37/38,
there are two other sets that would be nice to test (but it is all the
same script handler so it should work).
Also, to make this work, I had to implement the OLE automation
interface. Now, I have not implemented the entire interface yet, but I
have made the entire .tlb file for this and made a framework which makes
implementing everything fairly straightforward (and everything is a
wrapper around the existing MSI database functions, so there is no
actual functionality, it is just adding new cases to the switch
statements that call the MSI database functions appropriately).
Basically, because of the MSI design where everything that is an object
has an MSIHANDLE, I have made one Automation Object that each specific
object "inherits" from by implementing its invoke function (minus basic
parameter checking, etc. which is all done by the automation object) and
passing it to create_automation_object with its CLSID. It is pretty easy
to implement more functions, and I will try to keep on adding more,
probably as patches that I will periodically send to wine-patches.
Anyhow, look for my first patches in the next couple of days.
More information about the wine-devel