Is there a way not using the scheduler, to tell GSS client to use the current logged in account to run the task?
Not exactly; again, this is one of the many dozens of things I'd planned for, but we couldn't actually do - the tray icon applet runs in the currently user context, and gives a copy of that context to the management client. This is what's needed to allow the management client to inject new processes into the currently logged-on user context (if there is one). The problem, however, is that there was at the time no way to specify at task creation time that's what was desired, and changes to the UI and database schema (which also adds complexity to the upgrade process) to add features like that with visible UI are more expensive and timeconsuming than the invisible back-end things, which I could typically just *do* rather than chase approval and funding for them.
[ A side point, which was also part of the design of this feature and my analysis of it when it first became an issue in 2007, is a) what happens when no-one is logged on, and b) what happens on machines with full Terminal Services and the like. So essentially you need at least *two* features, one which when run immediately creates an instance of a new process in EVERY currently logged-on session (including Fast User Switching cases), and one which queues the activations persistently until the next logon versus doing nothing if no-one is logged on. As soon as you think through the underlying complexity of a problem, it rapidly becomes apparent that you're in a no-win situation. Truly, in software No Good Deed Goes Unpunished; the cost of implementing a simple "tickbox" feature like this is vastly higher than people realise. Making things simple is HARD. ]
Also, if you are running using autologin while that simplifies things (it's a known account) that adds a new problem to the mix; it introduces a horrible, horrible timing race because most of the things Windows lets you configure are for the next logon, and *may or may not* take effect if a login is actually underway, which it is right from the get-go. With things like this it's incredibly difficult to design (and even harder to test) robust processes because you have code not under control working concurrently with yours, and sometimes it goes first and sometimes yours goes first.
To make a robust process given this, the thinking goes like this: the account being run is a full Administrator, so then the RunOnce or RunOnceEx registry keys *are* available. However, the timing race means that they can't reliably be configured after boot, because they then may or may not actually take effect (which applies to most of the other solutions). Therefore, the best solution is to configure the action in the preOS, and the simplest way to do that is to employ RunOnce or RunOnceEx via injecting the command you want using GhRegEdit (or GhRegEdt32 in WinPE).
I guess GSS is going by the wayside.
That's been the case since 2004 and the first time the product was cancelled outright, when Ghost had 20 developers, revenues over US$100M growing 30% YOY, and zero staff turnover. The VP who made that call, incidentally, stayed in charge making decisions for Ghost even after the cancellation was overturned in 2006, and he continued to work against our team and the interests of our customers right until the day we got moved out of his control to Altiris.
By 2008, we had a product that was twice the size and with many more customers (recall we also had to ship and maintain DeployCenter, add support for WinPE and features the size of an entire product such as Symantec User Migration, without dropping a single feature) but after years of ~30% staff turnover combined with hiring freezes when we were prohibited from replacing staff we had only 10 developers and 10 QA staff. Symantec's average level of R&D reinvestment is no secret; you can discover it by reading shareholder reports, and it's roughly similar to the software-industry average. GSS over it's entire lifetime owned by Symantec didn't even get *close* to half that.
We were, basically, set up to fail. If any one of a group of key people left, it was game over and we couldn't keep the product going. It took a considerable collective effort of will (or sheer bloody-mindedness, if one prefers) on the part of the staff to stay and keep fighting for the interests of the customers and shareholders in the teeth of that.
Everyone at Ghost knew the Altiris acquisition was an exact replay of 2004 in most respects; from late 2007, the strategy was that Deployment Solution would take over from GSS (I was at ManageFusion '07 in Orlando talking to customers and telling them that, the first and last time we got developer presence at a user conference due to a strange confluence of events). However, we took heart from the fact that Deployment Solution had terrible usability, that it was almost impossible to install and configure, that the Altiris development process was a disaster, and that most of the GSS toolchain parts would supplant the ones in Deployment Solution so that by about 2012 when Deployment Solution had a chance of realistically displacing GSS, we'd have had time to adjust to that new reality. Alas, that wasn't to be and the axe fell in early 2009 scattering the team to the four winds.
It's a shame because the user interface is so friendly.
The primary credit for that can be laid at the door of Slawek Kajetanowicz; he did the DB design and wrote the entire first version of the console released in 1999, and like me he stayed doing most of the development and maintenance on his part of GSS right through to 2009 when the site was closed and the layoffs hit.
Other people contributed noteworthy pieces to the product, and lots of collaboration in a product as large as GSS occurs, but the console really was Slawek's baby just as the back-end management pieces were mine, and I have no problem attributing credit for the interface to him - he deserves it.