whut / jumplist-extender

Automatically exported from code.google.com/p/jumplist-extender
0 stars 0 forks source link

[Installer] Start menu user bug; Inno switch; full user support #12

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
I'll likely be using WiX/Windows Installer.

Upon install:
1. Put files in %programfiles%
2. Register J7EBackground as a startup app
3. Run J7EBackground

Upon uninstall:
4. Ask if you want to delete appdata, too.
3. Run J7EBackground? to restore shortcuts and remove window appids.
** Accomplish this by loading it with full AppList.xml, then feeding it an 
empty one.
** If keeping appdata, put AppList.xml back in its place.
2. Remove jumplist from each registered appid. Just call Jumplist.Refresh
(); on an empty jumplist.
1. Remove files in %programfiles%

Original issue reported on code.google.com by mar.mar...@gmail.com on 17 Apr 2010 at 4:57

GoogleCodeExporter commented 8 years ago

Original comment by mar.mar...@gmail.com on 11 May 2010 at 12:50

GoogleCodeExporter commented 8 years ago
NSIS is best. Consider setting up a separate VS project for editing NSIS files, 
as
well as utilizing pre/post-build events to copy program files over.

Install script needs to copy over Defaults to AppData, and set up Start Menu 
library.

Requires an uninstall script that, 1. Removes all registrations from program
shortcuts and windows; 2. De-registers all applists from appids.

SEE:
IShellLibrary - http://msdn.microsoft.com/en-us/library/dd391719%28VS.85%29.aspx
Taskbar extensions, libraries -
http://www.codeproject.com/KB/winsdk/www7.aspx?msg=3285455#2
** VIP MOST USEFUL LINK ^^^

Original comment by mar.mar...@gmail.com on 13 May 2010 at 3:45

GoogleCodeExporter commented 8 years ago
Got a pretty good one using NSIS.

BUG: Start Menu shortcuts are NOT ERASED when uninstalling as a regular user. 
Has to
do with UAC: UAC elevates the uninstaller so the "Administrator" user is 
running it.
Therefore, all of "Administrator's" profile paths are returned, NOT "User's". 
All of
JLE's shortcuts are stored under "User's" profile.

How do I get "User's" profile under an elevated process? Big question...

ADD: Windows 7 check.

Original comment by mar.mar...@gmail.com on 17 May 2010 at 12:54

GoogleCodeExporter commented 8 years ago

Original comment by mar.mar...@gmail.com on 17 May 2010 at 12:57

GoogleCodeExporter commented 8 years ago
The solution may be to, upon install:

1. Put JLE in Program Files
2. Put JLE in All Users\Programs
3. Put JLE startup in CURRENT user's registry only
4. Enumerate Users\AppData for each user's appdata, if existant
5. Enumerate user's environment to set jumplists

Upon uninstall:

1. Delete JLE in All Users\Programs
2. Enumerate HKEY_USERS for each user's JLE startup
3. Enumerate Users\AppData for each user's appdata, if needed
4. Enumerate user environment to remove jumplists

Everything pans out except the user environment and jumplists. I don't know how 
to do
that easily... Maybe put a /instFinal and /uninstFinal that, when each user 
starts up
on their own, the jumplist work will be done? If I go that route, the AppData 
won't
be deleted until the jumplist work is done...

Original comment by mar.mar...@gmail.com on 22 May 2010 at 1:23

GoogleCodeExporter commented 8 years ago
Working on switching to InnoSetup, 'cause NSIS is the bane of my existence :(

I really want to get user support for the next release. The next version should 
be a
major feature release, mainly for user support and the website, as well as 
jumplist
pack integration.

Original comment by mar.mar...@gmail.com on 23 May 2010 at 4:47

GoogleCodeExporter commented 8 years ago

Original comment by mar.mar...@gmail.com on 23 May 2010 at 4:48

GoogleCodeExporter commented 8 years ago

Original comment by mar.mar...@gmail.com on 31 May 2010 at 9:04

GoogleCodeExporter commented 8 years ago
The main blocker behind user support is applying jump list changes to other 
users upon install/uninstall.

Putting program icons in All Users/using users' own AppData is tame, but the 
installer runs an app that pins/unpins shortcuts and erases jump lists. What 
happens when an administrator is trying to uninstall, and the program needs to 
run under a certain user who's unable to provide a password?

Original comment by mar.mar...@gmail.com on 27 Mar 2011 at 11:41