b***@gmail.com
2004-12-22 13:49:17 UTC
My application dynamically inserts a CAB file into the MSI file (step
1), then runs product installation off this MSI file (step 2).
Step 1 uses MsiOpenDatabase(...), then MsiDatabaseCommit(...),
MsiCloseHandle(...).
The problem: MsiInstallProduct(...) in step 2 returns error "MSI file
cannot be open" meaning that the file is already open by the process.
For the same reason, I cannot delete this file from the process that
had modified it.
Does anybody know what else should be closed to unlock the MSI file? Or
is it a bug in MSI 2.0?
1), then runs product installation off this MSI file (step 2).
Step 1 uses MsiOpenDatabase(...), then MsiDatabaseCommit(...),
MsiCloseHandle(...).
The problem: MsiInstallProduct(...) in step 2 returns error "MSI file
cannot be open" meaning that the file is already open by the process.
For the same reason, I cannot delete this file from the process that
had modified it.
Does anybody know what else should be closed to unlock the MSI file? Or
is it a bug in MSI 2.0?