msi: undo RegisterProduct/PublishProduct

James Hawkins truiken at
Sat May 12 16:31:14 CDT 2007

On 5/12/07, Misha Koshelev <mk144210 at> wrote:
> Hi,
> I am starting to write some automation conformance tests for things that
> I could check only after a package has been installed (and before it was
> removed) like ProductInfo and RelatedProducts. I've added the install
> functionality into the conformance test, and it works beautifully on
> Windows, cleaning up after itself every time both by deleting all the
> installed files and also doing an
> MsiInstallPackage/Installer::InstallPackage call with REMOVE=ALL options
> which gets rid of all the information published by
> RegisterProduct/PublishProduct, thus allowing the ProductState to go
> back to being INSTALLSTATE_UNKNOWN afterwards.
> However, in wine the tests run fine the first time, but then the
> REMOVE=ALL call does not seem to remove the registry data (in fact I'm
> not sure this functionality is present under Wine msi yet). Is there any
> way to properly remove the registry data about the application under
> Wine MSI in my conformance test without just manually clearing out the
> appropriate registry values, and would this be considered to be kosher?

For the time being, using the registry API to delete the keys will be
fine.  We do the same thing for the install tests (using DeleteFile to
delete the installed files).  Eventually we'll be able to just call
install again wtih REMOVE, but uninstalls is unimplemented in Wine,
and it's a really low priority.

James Hawkins

More information about the wine-devel mailing list