Closed Bug 368353 Opened 18 years ago Closed 18 years ago

rename uninst.exe to helper.exe, as it will be doing the work requires elevation (as well as continuing to be the uninstaller)

Categories

(Firefox :: Shell Integration, defect)

x86
Windows Vista
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: moco, Assigned: robert.strong.bugs)

References

Details

(Keywords: verified1.8.1.2, Whiteboard: [vista] depends on bug 354005)

Attachments

(1 file)

instead of uninst.exe, create a new executable (firefoxHelper.exe/thunderbirdHelper.exe) to do the work that requires elevation

rob and I discussed this last night.

once we land bug #354005, after software update (or in some scenarios when you've got side by side installs and you do "make default browser"), we'll launch uninst.exe.

on vista, the end user will get the UAC prompt.

a warning about "uninst.exe" makes me nervous, as i feel users will panic and decline it, because they don't know what that is, or they might know it is an uninstaller, and decline it.

robert had an idea on how to fix this:  create another exe, like firefoxHelper.exe (which would be NSIS based, built on top of all our common installer code).
Flags: blocking1.8.1.2?
on my end, I'd need to fix this code in nsAppRunner.cpp to do:

+nsresult 
+nsXULAppInfo::LaunchUninstallerWithArgs(int aArgc, char **aArgv)
+{
+  nsresult rv;
+  nsCOMPtr<nsIProperties> directoryService = 
+    do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  nsCOMPtr<nsILocalFile> uninstaller;
+  rv = directoryService->Get(NS_XPCOM_CURRENT_PROCESS_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(uninstaller));
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  rv = uninstaller->AppendNative(NS_LITERAL_CSTRING("uninstall"));
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  rv = uninstaller->AppendNative(NS_LITERAL_CSTRING("uninst.exe"));
+  NS_ENSURE_SUCCESS(rv, rv);

Actually, that should be changed to LaunchHelperAppWithArgs()

see bug #354226 for about that code.
How about naming it exe name (minus the exe) PostUpdate so for Firefox it would be FirefoxPostUpdate.exe and for Thunderbird it would be ThunderbirdPostUpdate.exe?
the reason I was thinking "firefoxHelper.exe", was that you could see the UAC prompt (with this exe name) at other times, and not just after a software update.

or am I mistaken?  (I thought the SetDefaultBrowser() code, the \fixReg option, could call it.)
You are correct... if it is also used to support side by side installs it could also be seen when setting as default. I'd like something a tad more descriptive but not sure what it should be.
Flags: blocking1.8.1.2? → blocking1.8.1.2+
the plan is to call this thing helper.exe, for all products.  we are going to just rename uninst.exe to helper.exe.  it will still live under the uninstall folder.
Summary: instead of uninst.exe, create a new executable (firefoxHelper.exe/thunderbirdHelper.exe) to do the work that requires elevation → rename uninst.exe to helper.exe, as it will be doing the work requires elevation (as well as continuing to be the uninstaller)
juan, can you get a screen shot, on vista, of a signed .exe UAC prompt on vista?

we just want to make sure that the signed helper.exe UAC prompt UI will be branded with Mozilla (because it is signed)
seth: vista paralyzes you when the UAC comes up, making it difficult to get a screen shot of the UAC. If I navigate to program files and run the uninstaller manually on 2.0.0.1, here is what the UAC says (I am able to verify that this file has a dig signature by right clicking on the .exe)

User Account Control

!A program needs your permission to continue

Firefox Installer
Mozilla Corporation
C:\ProgramFiles\Mozilla Firefox\uninstall.uninst.exe (you get this if you click on the details widget)

Does this help?

(In reply to comment #6)
> juan, can you get a screen shot, on vista, of a signed .exe UAC prompt on
> vista?
> 
> we just want to make sure that the signed helper.exe UAC prompt UI will be
> branded with Mozilla (because it is signed)
> 

thanks marcia and juan.

this is good news, as it will say "Mozilla Corporation".  it is also good news, as the program description will show up.

but, as robert quickly pointed out, the uninstaller should not say 'Firefox Installer'.

I think he is going to fix that to say "Firefox Helper" (to match helper.exe)
robert has fixed this on the trunk for firefox, tbird and calendar, but I'll leave it to him to mark as fixed.
Assignee: nobody → robert.bugzilla
This hasn't been fixed for Thunderbird and Sunbird yet... I'll do so in a followup bug.
Fixed by the checkin of bug 354005. The renaming of uninst.exe to helper.exe will take place in each app's respective Vista integration bug.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Whiteboard: [vista] depends on bug 354005
Adding fixed1.8.1.2 keyword, since I'm assuming we landed this on the branch as part of bug 354005.

rstrong/seth:  Please confirm that this made it in.  Thanks!
Keywords: fixed1.8.1.2
It made it in... I used the dependencies from the meta bug and missed this and the other one. :(
Blocks: 352420
Blocks: 369465
No longer blocks: 352420
Depends on: 369642
Verified fixed for 1.8.1.2 with  Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.2pre) Gecko/2007020703 BonEcho/2.0.0.2pre

I tested the helper.exe Dialogs and it shows everywhere helper.exe (or the description Bon Echo Helper on the 1.8.1.2 build currently) and no more uninstall or uninstaller.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: