Dear All,
I came across a problem when my ISWI project uninstalled. I've found that not all registry keys (that used by my project) were removed. And this cause some problems that the system believe that the project r still there....
So, any ideas ? and if RemoveRegistry table is possible, pls give me examples for using it... thanx !!
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Registry Keys not removed after uninstallation !!
Started by
calenkl
, Mar 11 2002 09:19
8 replies to this topic
Posted 11 March 2002 - 12:55
Take a look in the msi documentation. You should be able to achieve the results you require if you add +,- or * registry entries in the needed part of the registry.
Posted 11 March 2002 - 19:29
Hi,
I have the same problem. I want to delete some keys and values that were written by the application. I tried to use the table RemoveRegistry, with the option "-", but it didnt work. Then I read again the documentation about this table and saw that this table is used just during the installation of the product. To remove a value or keys from the Registry while removing a component, I should use the Registry Table.
Am I right?
How can I populate the Registry Table to remove these values/keys using InstallShield for Windows Installer?
Thank you for your help,
Ajawl
I have the same problem. I want to delete some keys and values that were written by the application. I tried to use the table RemoveRegistry, with the option "-", but it didnt work. Then I read again the documentation about this table and saw that this table is used just during the installation of the product. To remove a value or keys from the Registry while removing a component, I should use the Registry Table.
Am I right?
How can I populate the Registry Table to remove these values/keys using InstallShield for Windows Installer?
Thank you for your help,
Ajawl
Posted 12 March 2002 - 13:06
create a registry key eg.
HKEY_LOCAL_MACHINE\Software\MyCompany\MyProduct
add a registry value called * (asterisk).
When the installation is installed the registry is created.
When the installation is removed everything except
HKEY_LOCAL_MACHICE\Software\MyCompany
is removed. This is a little more difficult to deal with because you may have more than one product. (If you have not now, you may in the future
The problem of orphaned MyCompany maybe overcome by creating a component MyCompanyComponent that contains the registry key
HKEY_LOCAL_MACHICE\Software\MyCompany
with two values named
*
and MyCompanyKeyFile
set the key file of MyCompanyComponent to MyCompanyKeyFile.
Add this component to all your projects. Making sure you keep the component guid the same. (You could make a MyCompanyKey merge module if you have many products).
------------------
HKEY_CURRENT_USER is more of a problem. When there are multiple users sharing the product only the entries for the current user that are removed during an uninstall. Removing these is a very difficult problem. I believe it can be done but I do not have the time to develop this and refuse to comment on it further.
HKEY_LOCAL_MACHINE\Software\MyCompany\MyProduct
add a registry value called * (asterisk).
When the installation is installed the registry is created.
When the installation is removed everything except
HKEY_LOCAL_MACHICE\Software\MyCompany
is removed. This is a little more difficult to deal with because you may have more than one product. (If you have not now, you may in the future
The problem of orphaned MyCompany maybe overcome by creating a component MyCompanyComponent that contains the registry key
HKEY_LOCAL_MACHICE\Software\MyCompany
with two values named
*
and MyCompanyKeyFile
set the key file of MyCompanyComponent to MyCompanyKeyFile.
Add this component to all your projects. Making sure you keep the component guid the same. (You could make a MyCompanyKey merge module if you have many products).
------------------
HKEY_CURRENT_USER is more of a problem. When there are multiple users sharing the product only the entries for the current user that are removed during an uninstall. Removing these is a very difficult problem. I believe it can be done but I do not have the time to develop this and refuse to comment on it further.
Ian Blake
(Currently Unemployed)
(Currently Unemployed)
Posted 24 June 2002 - 08:12
Hello Ian !!
I wonder if u can give me some examples of using the RemoveRegistry & RemoveFile Tables.
Thanx !!
I wonder if u can give me some examples of using the RemoveRegistry & RemoveFile Tables.
Thanx !!
Posted 26 June 2002 - 03:51
Hello Ian,
I've tried the way you mentioned here, but it only deletes the keys that is delivered with the packages.
Ok now, my scenerio is, afew keys will be created dynamically after the installation.
So, i hope i can find a way to delete this key created.
any ideas ??
Thanx !!
I've tried the way you mentioned here, but it only deletes the keys that is delivered with the packages.
Ok now, my scenerio is, afew keys will be created dynamically after the installation.
So, i hope i can find a way to delete this key created.
any ideas ??
Thanx !!
Posted 10 July 2002 - 21:27
Hi,
I can delete these keys from a custom action which calls any code routine from dll. It's easy to do by C or VB code.
I can delete these keys from a custom action which calls any code routine from dll. It's easy to do by C or VB code.
Irina Shirinsky
Software Engineer, Heroix Corporation
http://www.heroix.com
Software Engineer, Heroix Corporation
http://www.heroix.com
Posted 27 November 2002 - 08:29
Dear All,
i've finally decided to put a * into the main key of the product installed, so all the keys created beneath this main key will be deleted.
not sure if this is the best work around but uninstalling this product means all the related registry keys r no longer in use.
Irina, thanx for ur idea of using other CA to delete it... Thanx Ian for the * thingy too, thanx !!
i've finally decided to put a * into the main key of the product installed, so all the keys created beneath this main key will be deleted.
not sure if this is the best work around but uninstalling this product means all the related registry keys r no longer in use.
Irina, thanx for ur idea of using other CA to delete it... Thanx Ian for the * thingy too, thanx !!