/build/static/layout/Breadcrumb_cap_w.png

Forefront UAG Client Components: suppress reboot during uininstall

Hi, I need to deploy MS Forefront UAG Client Components 4.0.0. The problem is that the uninstall reboots the PC without warning or delay possibility.
The original source is an MSI, however the only thing the MSI does is extracting the actual source files to a temporary folder and then it launches a setup.exe file which handles the installation itself. Using msiexec /x on the MSI file doesn't work. But I found that passing /q UNINSTALL=1 to the MSI launches the uninstall procedure. It actually calls this command: "rundll32.exe C:\WINDOWS\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 0 4.0.0". The zero (0) before "4.0.0" means silent, but it reboots PC without warning. When I put it to 1 (not silent), I get a message box with a reboot prompt (yes/no). So there is a way to delay reboot, but I can't find how to trigger it in silent mode. Capturing everything is tricky, it messes up Windows logon...
I can't find anything on the internet, even on Microsoft websites. I already tried parameters as /? etc. on EXE files, but that doesn't work either...
Does someone have experience with this?
Any help is welcome!

Thanks in advance,

Koen

1 Comment   [ + ] Show comment
  • The "WhlClientSetup-Basic.msi" has the following uninstall string

    "rundll32.exe C:\Windows\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 1 4.0.0"

    the digits shows Hint number of function in the WhlMgr.dll.

    for silent uninstall disable the FinishInstall() and DllgetClassObject() Functions ,

    Thus the new Uninstall string is like:
    "rundll32.exe C:\Windows\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 0 0.0.0"

    add it to custom action,shedule it after install finalise in execute imidiate(if doing from MSI),else use it as it is manually
    - See more at: http://www.itninja.com/question/forefront-uag-client-components-suppress-reboot-during-uininstall#sthash.fOpRP4J3.dpuf - Heet 10 years ago

Answers (11)

Posted by: MsiCreator 14 years ago
Senior Yellow Belt
0
Hi
Have you tried to craeting response file and supressing reboot. If you are able to crate ISS file then pass this file at uninstallation time to setup.exe. It may solve your problem.
Posted by: koswo 14 years ago
Orange Belt
0
Already tried that, doesn't work. The setup.exe doesn't seem to accept the -r or /r parameters.
Posted by: anonymous_9363 14 years ago
Red Belt
0
Open up the EXE in a decent text or hex editor (which discounts NotePad and WordPad, obviously!) and see if you can find any obvious text.

Myself, I'd be capturing the extracted set-up as an MSI. I find it most unusual that a Microsoft product embeds an installer EXE in an MSI. I can't recall a single MS product which does that... :(
Posted by: koswo 14 years ago
Orange Belt
0
Opened it with Notepad++ and did a search on uninstall, reboot, norestart and suppress, but nothing usable.

I can upload the files if you want to have a look...
Posted by: eskonar 14 years ago
Senior Yellow Belt
0
Hi Koswo
have u got an solution for this application..........to suppress the reboot prompt at the time of uninstallation .
if yes please let me know[:)]
thanks in advance
Posted by: koswo 14 years ago
Orange Belt
0
No, problem not solved yet.
Posted by: RahulRaman 14 years ago
Senior Yellow Belt
0
Some one please help me for Silent Un-install for "MS Forefront UAG Client Components 4.0.0."
Posted by: nortonl 13 years ago
Senior Yellow Belt
0
I encountered this problem recently and got round the problem using AutoIt. This is a script language which amongst other things can send keystrokes to specific windows so I configured it to press the 'No' reboot button then 'Close' the other window.

Compile the following AutoIt code into an EXE:
AutoItSetOption("WinTitleMatchMode", 3)
WinWait("Forefront UAG client components","",1800)
SendKeepActive ("Forefront UAG client components")
Send("{RIGHT}")
Send("{SPACE}")
WinWait("Uninstalling Forefront UAG client components","",60)
SendKeepActive ("Uninstalling Forefront UAG client components")
Send("C")

Create some sort of script which runs the AutoIt exe then your normal uninstall command line for Forefront UAG (without changing the value to suppress user interaction).

The AutoIt EXE runs in the background and waits until the Forefront uninstaller gets to the bit where the user is prompted to reboot then sends the required keystrokes. A bit of a fudge, I couldn't think of anything better.

Comments:
  • The "WhlClientSetup-Basic.msi" has the following uninstall string

    "rundll32.exe C:\Windows\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 1 4.0.0"

    the digits shows Hint number of function in the WhlMgr.dll.

    for silent uninstall disable the FinishInstall() and DllgetClassObject() Functions ,

    Thus the new Uninstall string is like:
    "rundll32.exe C:\Windows\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 0 0.0.0"

    add it to custom action,shedule it after install finalise in execute imidiate(if doing from MSI),else use it as it is manually - See more at: http://www.itninja.com/question/forefront-uag-client-components-suppress-reboot-during-uininstall#sthash.fOpRP4J3.dpuf - Heet 10 years ago
Posted by: nortonl 13 years ago
Senior Yellow Belt
0
We raised a Premier Support call about this and Microsoft offered a hotfix which allows command line control over reboot behaviour. It has not been fully tested and is only available privately if you raise a Premier Support call (I can't provide a copy). I was told this functionality will be rolled into a future release.
Posted by: nagaraju118 13 years ago
Orange Senior Belt
0
Can you please post the following script in vbscript .I am a beginner . I am facing the same problem. It would be helpful if you can convert the autoit script to vbscript
Posted by: Heet 11 years ago
White Belt
0

The source "WhlClientSetup-Basic.msi" has the following uninstall string

"rundll32.exe C:\Windows\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 1 4.0.0"

the underlined digits shows Hint number of function in the WhlMgr.dll.

for silent uninstall disable the FinishInstall and DllgetClassObject Functions ,
Thus the new Uninstall string will be

"rundll32.exe C:\Windows\DOWNLO~1\WhlMgr.dll,UnInstall 3.1.0 63 0 0 0.0.0"

add it to custom action,shedule it after install finalise in execute imidiate

 

 

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ