EditI have published an application, why doesn't it show up on client
This can be caused by a whole array of different things:
- Check that your OSD path is defined correctly
When you publish your application from SoftGrid Management Console, one of the things you need to define is something called "OSD path". This field appears on the first tab-page when you edit your application record.
OSD path needs to be in form that client can use to find a OSD for application you are publishing, because without OSD client does not have anything to go by when it needs to show or launch that application. In practice, this means either http -path (http://server/directory/myapp.osd) or UNC -path (\\server\share\myapp.osd), but in technical sense any path that is valid for client can do. So if you somehow distribute all of your OSDs to c:\osd\ -directory to each and every client, by all means use c:\osd\myapp.osd as OSD path.
- Check that your OS is listed within OSD
OSD can contain XML element(s) in the form <os value="
ostype">, which will, if present, limit in what operating systems that application will be visible. If you have only one value listed, application will show only on that OS.
If you don't have any <os> elements listed, this is shortcut for "don't care about OS".
- Check that your OSD file is not stored as UTF-8
Sometimes, when you edit OSDs outside Sequencer, they can end up being saved as UTF-8 format. SoftGrid Client does not like that and gives XML parsing errors (visible in client's log file) for those OSDs. And if client cannot parse OSD, it cannot show the application.
Use ANSI or UTF-16 if you have international characters in OSD (like for shortcut's title).
- Check that your account has rights to application
That Access Permissions -tab for application records in SoftGrid Management Console is for nothing. By default SoftGrid will check that your account has access to SoftGrid Server itself (provider policy) and secondly that your account has access to that application you tried to refresh or launch.
If your account (or more precisely group your account belongs to) is not listed in access permissions, SoftGrid Server won't return any information to client about that application when that account refreshes.
- Check that SoftGrid Server -service is running
If you refresh your application using integrated publishing, as 99% of desktop users probably do, then it means that SoftGrid Client needs to be able to contact that SoftGrid Server service listening on port 554. If it cannot contact the server, no new applications will show up (but your existing ones will still be there and maybe even work).
- Check that there isn't hidden existing application by the same name
When application goes "out of focus" for user, shortcuts and information about that application will disappear. But only for that user, the client itself still remembers that there is application named "Fooapp 1.0". Now, if you happened to publish new packaging of that same app, using the exact same name, client won't be able to refresh that new "Fooapp 1.0" into your client as there already exists one! Not that you see that, of course.
But when looking as administrator, who will by default see all known applications on client's application list, you'll see reference to that old application by the same name. Delete it away and now you can refresh your new application and it should show up.
Note: it's not recommended to recycle shortcut names for this very reason.
EditIf I have new version of SFT published, do I need to refresh on client?
No you don't.
If you have done "Add version" on the Management Console, SoftGrid Client will automatically negotiate with SoftGrid VAS about the exact SFT that gets delivered to client during launch of application (ActiveUpgrade).
If there are no applications currently running from the package, SoftGrid client will receive the newest SFT available, but if there's even one instance running (such as if you have Word open from Office package and you now launch Powerpoint from the same package), then client will still continue to use the version in cache and/or stream blocks from corresponding SFT at server.
Refresh is only needed for add and remove of applications and if you change contents of OSD files.
EditWhy do I see launch indicator stating more than 100% when launching application
This can happen if you have existing package in client's cache (meaning at least FB1 ["launch data"] part of package is cached), and you have now updated the SFT centrally resulting smaller FB1 than before (thus you have >100% of new FB1 in cache).
This is harmless and shows only once when ActiveUpgrade happens for the package.
EditDoes SoftGrid Client make application think that user has administrator -level access
No.
Within boundaries of virtual "bubble" SoftGrid SystemGuard runs applications in, applications have some freedom to do things when it comes filesystem access or registry access. This is because registry accesses are cached entirely per application per user -based, and filesystem accesses are cached and kept inside virtual environment if directory application tries to write or modify information to is virtualized (either in virtual drive or fully virtualized folder in VFS). Inside virtual environment (virtual registry/VFS) there is no ACLs that would prevent access.
If application tries to access files outside those that are virtualized, then normal ACLs are observed and application might be prevented to write/modify them, just like with normal locally installed applications. Very famous example of this is when you inadvertently have picked up TEMP environment variable into OSD, pointing to system's temp (e.g. c:\windows\temp), when application tries to write temporary files to location returned by process' environment variable (that is, system's temp in this case) it probably will no succeed under normal user rights as normal users do not have write access to system's temp directory.
Another case of application requiring administrator -level access is when it specifically asks from Windows (using appropriate APIs) whether or not user belongs to administrators group or have proper security tokens. This query will return information exactly as-is, because SoftGrid
does not do API emulation. In this case, application might refuse to start as it sees (correctly) that user hasn't got required rights. If however application just went ahead and tried to access those few strongly virtualized locations as discussed above, then it probably succeeds as SoftGrid grants write access (even if system would have not done so).
Back to the FAQ main page