/// <summary> /// Creates a transform that, when applied to the reference database, results in this database. /// </summary> /// <param name="referenceDatabase">Required database that does not include the changes.</param> /// <param name="transformFile">The name of the generated transform file. This is optional.</param> /// <returns>true if a transform is generated; false if a transform is not generated because /// there are no differences between the two databases.</returns> public bool GenerateTransform(Database referenceDatabase, string transformFile) { int error = MsiInterop.MsiDatabaseGenerateTransform(this.Handle, referenceDatabase.Handle, transformFile, 0, 0); if (0 != error && 0xE8 != error) // ERROR_NO_DATA(0xE8) means no differences were found { throw new MsiException(error); } return(0xE8 != error); }