Hi guys,

So I am trying to edit MSI tables (component table, file table, ...) from a
custom action while the MSI is being run.
Following are the attempts I've made, and so far I have failed miserably.
And I am attempting this because
it needs to be customized after being shipped, in runtime based on
customer's computer settings.

1. MsiGetActiveDatabase() to get an active database of the installer.
2. Use the following query string to open a view using
MsiDatabaseOpenView().
"UPDATE `Component` SET `Component`.`Attributes`='SOME_CONSTANT WHERE
`Component`.`Component`=SOME_KEY_NAME"
3. Execute the view using MsiViewExecute(), but I get a vague error of
ERROR_INSTALL_FAILURE from the function.

I suspect that the error occured because the database was opened in
read-only mode since I
was trying to edit the MSI database that is being run.

I used the same query string to attempt the same thing using WiRunSQL.vbs
script included in the installer SDK, and
it modified the record just fine.

So is it possible at all to modify a database of a running MSI through a
custom action?
I've seen people using Wix SqlDatabase element as well as Wix SQL utility to
do some sql works.
Can I somehow use this to edit the database? And I can't use bootstrapper
because of the complications in digital signing in the lab.
Can I somehow use MsiRecord* api calls to achieve this? I wasn't sure if the
functions can modify the database
for the similar reason.

Thanks!!
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to