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

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -