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?
Thanks Misha
On 5/12/07, Misha Koshelev mk144210@bcm.edu 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.
On Sat, 2007-05-12 at 16:31 -0500, James Hawkins wrote:
On 5/12/07, Misha Koshelev mk144210@bcm.edu 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.
Ok, thanks for the info.
Misha