windows installer - Javascript MSI automation - closing the database -
I am retaining some build scripts which are to remove MSI database from javascript files (.js). The code is basically:
{var oTargetDB = g_oInstaller.openDatabase ("mymsi.msi", msiOpenDatabaseModeReadOnly); Var oView = oTargetDB.openView (...); OView.execute (); OView.close (); } // later ... {var oTargetDB = g_oInstaller.openDatabase ("mymsi.msi", msiOpenDatabaseModeTransact); } The second OpenDatabase fails with the ever-useful 0x80004005 (E_Fell), which I believe because the first one is not locked. However, the database object does not have any close method I tried oTargetDB = - nothing changed.
What can I do to stop the database, so can I open it again?
Edit:
- I see that handle.exe is used by cicinanal, so this is definitely a problem
- Delay
- Low level scripts do not have an option due to existing script structure
- I do not get help from (I really did not wait for long time, Uber-hacking is beyond the scope of this fix
- To delete my code and (pseudo-singles) Tons) Blergh go with the solution
works blank with VB script to handle, so I'm not sure That's why it will not be with JS. My best estimate might be that you have discovered a bug in the detention of JS - especially if you read it for the first time, call it Commit do not require. The method to flush any changes
This indicates that simply closing the handle is necessary to close the database. So I'm also guessing oTargetDB = zero after setting it to zero, Javascript is not handling to reopen that time to see if this is the case, you try to delay it after issuing it You can.
Comments
Post a Comment