Desktop Functions: Smart Device Functions:
|
Search Results for "MsiDatabaseCommit" in [All]msi
static extern int MsiDatabaseCommit(IntPtr hDatabase);
Declare Function MsiDatabaseCommit Lib "msi.dll" (TODO) As TODO The documentation specifies a string for the persist parameter, but any calls to MsiDatabaseCommit are ignored unless this call is given an IntPtr with the desired open mode, e.g. (IntPtr)2. The sample application below demonstrates how to use MsiRecordSetString, MsiOpenDatabase, MsiCreateRecord, MsiCloseHandle, MsiDatabaseOpenView, MsiViewExecute, MsiDatabaseCommit, and MsiViewClose in C# to modify a property value in an MSI database. To run it, simply create a new Windows Console application and replace the code that Visual Studio gives you with the code below. You may have to modify the namespace name. The sample as-is requires a valid MSI database named SETUP.msi, with a property named PROPERTY1 in the Property table, to be located in C:\. You can of course change the path to your MSI database in the calls to ChangeMSIProperty() in Main() and use any existing property you wish.
static extern int MsiDatabaseCommit(IntPtr hDatabase);
returnValue = (WINDOWS_MESSAGE_CODES)MsiDatabaseCommit(msiHandle);
throw new MsiInstallationSupportException(string.Format(CultureInfo.InvariantCulture, "MsiDatabaseCommit returned error code {0}.", returnValue.ToString())); |