Hi

I'm trying to extract the Product code from an MSI using C# (this is for a
custom msbuild task I'm writing).

I'm using the following definition for P/Invoke


[DllImport("msi.dll", CharSet = CharSet.Unicode)]

static extern Int32 MsiGetProductInfoFromScript(string scriptFile,
StringBuilder product, ref ushort langId, ref uint version, StringBuildername,
ref uint nameSize, StringBuilder package, ref uint packageSize);
I keep getting a return code of 1603. Everything looks OK, but I'm starting
to suspect that the script file I'm passing is causing a problem,

ushort langId = 0;

uint version = 0;

uint packageSize = 10;

uint nameSize = 40;

StringBuilder product = new StringBuilder(40);

StringBuilder package = new StringBuilder(40);

StringBuilder name = new StringBuilder(100);

int e = MsiGetProductInfoFromScript(@"C:\Test\Test.msi", product, reflangId,
ref version, name, ref nameSize, package, ref packageSize);

Am I even calling the correct method? The only other option I can think of
is to open the DB and go through the whole SELECT * FROM Property and then
extract the product code from the returned view.

Thanks,
Jacques
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to