Thanks! I'm really glad you're happy with it!
Damnit, I know I'm long-winded (sorry), but the installer has come up a few times so here's my summary:
Summary
Currently gShell only is set up to install for the user installing it. Adding an option to install for all users and tweaking how it searches for auth files could open functionality up a bit more, but would lessen the security of the authenticated user. This change is possible but would require research and an update to the installer (and I really really hate that installer).
Details
Right now gShell installs into the user directory for the user installing it. If you install it and someone else tries using gShell, it should only work if you never logged out, or if you're all using some shared account.
Currently, if other colleagues want to use gShell (on the same machine) they would need a copy of the files in their own modules directory. If they tried installing it again... I imagine it'd probably work, but would overwrite the uninstallation info in the registry.
(Obviously it's possible to manually load modules from other locations, to set that up to be automatic in a profile script or even to point gShell to look for the auth file in a different spot, but I'm assuming default installations).
Options
That said, an option to install for all users would make sense, though what to do after that is the question. Option 1 would still be an option, but I'd have to figure out what to do for the other:
1) Install at the user level, auth file is at the user level
2a) Install at the system level for all users, user auth files are at the user level.
2b) Install at the system level for all users, auth file is at the system level and is shared with everyone.
2c) Install at the system level for all users, by default gShell will point to the user auth files, but if it sees an auth file in system directory it will use that instead.
For the flexibility, I'm leaning towards 2c. By default it still lets each individual user have their own auth files (which if you're using the .bin format would be very secure and would prevent others from using your auth files, in case that's an issue), but it also allows you to set up essentially a global auth file that everyone would use on that machine.
I don't think going beyond that would be necessary, to be honest, since now you'd be introducing new cmdlets to switch users, or new parameters on every cmdlet to specify which user to use. This would also require another overhaul of the underlying auth files, which is no fun.
Disclaimer
Again, it's worth mentioning that this would lessen the security of the authenticated Google user. If you've got an admin account set up to work with gShell, and you're allowing multiple users to have access to that gShell installation, all users will be able to use that one account for admin work. This reduces accountability and auditing options since you'll never be sure exactly who ran what under that user name (without coorelating other non-google data).
But, if that works for your environment who am I to say no? :D
Other options
People have asked in the past if the installer could install to a custom directory. Again this is in theory possible but would require research for Wix, and I've not done that for aforementioned reasons. Howver, if we jump in to this I suppose I could look in to this as well.
About the installer
First and foremost, I haven't barely touched that installer since I put it in years ago. Wix (at least at the time) had terrible documentation and it was one of the most annoying things I've ever had to do, but it was free. Since getting it working, I've not touched it for that simple reason. I dread spending more time with it.
Option 2c would (appear to) only require the addition of the 'install for all users' option, and I imagine that is a fairly common and hopefully documented thing, which is a plus for option 2c.
I'm open to other installer alternatives, but this one also has the plus of being plaintext, so people can see in the repository what the installer is doing (if they can decipher the ugly XML). Either way, I'm open to options.
I'm also open to pull requests if anyone wants to take a stab at it - I'm about to have no time at all for the next number of months, so updates may slow to a halt for a while (hint hint).
Let me know what you think!
Cheers,
Spencer