Alan and Rob: We have a user group for our staff which we use to apply permissions. We have mapped this user group to the NBNData database and also assigned the database roles of db_datareader, db_datawriter and public to NBNData (see SQL Books Online to see what permissions these grant). Recorder on our network seems to be able to run with only the public role, but I've had discussions with some that can only get Recorder to run if they assign the db_owner role (otherwise they get an EOleException: Login Failed for user 'DOMAIN\User'). Perhaps John could clarify what database roles should be assigned?
John: I've been working on the 'crash on startup issue' today and yes, I found the cause. It's a bit strange, but here's the deal (I'm going to be extra verbose in my description so others can make use of the techniques I've employed):
We created a new restricted user on the network so that we knew their profile was completely 'clean'.
I did a fresh workstation install onto a new laptop logged in as me (an administrator) and confirmed Recorder was working. It was.
I then logged out and logged in as our new restricted user and tried to run Recorder and got the crash.
So, I ran Regmon by right-clicking its .exe and choosing "run as..." then running it under my user account. This is an important step - you need to run regmon under a restricted user account in order to properly analyse what registry write, if any, is causing the crash. The trouble is, Regmon can only be run with admin priviledges, hence the need to 'run as...'
Once running I set Regmon to filter on 'recorder*' and registry writes and errors only.
I tried running Recorder again and voila, I get several ACCESS DENIED registry entries. It's the last one that appears to be causing the crash. Here's the key that Recorder is trying to write to:
HKEY_CLASSES_ROOT\TypeLib\{801EBE82-91CE-11D3-B564-005004B0B698}\1.0\0\win32
And here is what the key already contains:
\\DOMAIN-02\Data$\SWTBRC\Recorder 6 Server\Recorder.ex_
A restricted user doesn't have permission to write to this key in the registry, and so I assume that when it tries to do so, Recorder crashes.
What is odd is that this path is OK. I can CD to \\DOMAIN-02\Data$\SWTBRC\ no problem, so why is Recorder trying to rewrite it?
Further analysis reveals this:
Recorder is installed on our T:\ drive, which is mapped here:
\\domain-02\data$\swtbrc
which is identical apart from the case. Now here's the odd part: if I disconnect the T:\ drive an remap it to:
\\DOMAIN-02\Data$\SWTBRC\
in order to exactly match the existing registry key, then Recorder starts when logged in as the restricted user.
Obviously, the reason this crashing problem kept coming back is because our T:\ drive is getting automatically remapped to its initial, lowercase, path.
I reckon this is probably classed as a bug: Recorder shouldn't be trying to rewrite that registry key simply because it has case differences.
Charles Roper
Digital Development Manager | Field Studies Council
http://www.field-studies-council.org | https://twitter.com/charlesroper | https://twitter.com/fsc_digital