PDA

View Full Version : Add/Remove Programs Screen not Refreshed on Suite Uninstall



rguggisberg
01-04-2016, 10:24 AM
If I have the ARP (Add/Remove/Programs) screen displayed and uninstall my Suite the Suite is removed from the ARP display but the individual packages are not. My packages are .exe's. I am currently using IS 2015 SP1 but this always been true for Suites. At my previous job it happened with Basic MSI packages. Now I am using InstallScript MSI packages. If you refresh the ARP screen the packages are not displayed. How do I refresh the ARP display on a Suite uninstall?
Thanks

rguggisberg
02-10-2016, 01:46 PM
I had a chance to play with this today, but still no success. This is not really a Suite problem. If I have any of my apps installed, open the control panel ARP (appwiz.cpl) the ARP display is only updated automatically for the Suite package... all the other apps appear to remain. That is also true if I manually uninstall the apps outside of the suite. Although if I hit F5 to refresh the ARP display, they are no longer displayed. I would like to add an InstallScript function to the end of each uninstall to refresh the ARP display. For now I am playing around with that in a Suite project (only because it is much quicker to build and test). If I could get it to work I would put in individual packages instead.

I have code to find the ARP window successfully. Then I have tried all of the following with no success.
1. SendMessage (hMain, WM_SYSCOMMAND, SC_RESTORE, 0);
2. ShowWindow( hMain, SW_HIDE ); <--- This does hide the window, and I can bring it back with another ShowWindow, but the window is not refreshed.
3. LaunchApp ("Control.exe", "appwiz.cpl"); <-- this does redisplay the window, but the info is not updated!
4. User32.InvalidateRect( hMain, NULL, TRUE );
5. User32.UpdateWindow( hMain ); <--- this command "succeeds... but seemingly does nothing
6. RedrawWindow( hMain, NULL, NULL, 2 );
7. ShowWindow( hMain, SW_SHOW ); <-- this will redisplay the ARP window, but it is not refreshed.

Any insight is appreciated :)