Windows 7 has some restrictions on where programs can write.
A program is not supposed to update files in "Program Files" folder
by itself. So storing C:\Program Files\TellyPrompter\myguidedata.txt
is not recommended.
A program is not supposed to write to the "root" of a partition,
such as C:\myguidedata.txt . That too would be bad (a potential
malware technique apparently).
Windows 7 does have some "backwards compatibility" workarounds, where
when a program attempts to write to an "illegal" location, some other safe
place is used to store the info instead. If the program
tries to access the data later, it will be able to do so, without
a fuss. It doesn't explicitly know about the workaround. But, for
the user, it could be confusing, because the users sees a file
in the fallback location, and won't know that the program was
actually trying to write it somewhere else. So if someone tells
a user ("on my win2k system, the guide data is in C:\x\y\z\myguidedata.txt"),
that user may actually have to look elsewhere to find it.
The other area you could debug, is if there was a networking problem.
I don't know the best method to determine whether it's "getting stuck"
or not. The AdamDawes site says that "Radio Times" is the source
of the guide data, but looking at that site, I couldn't immediately
find info on how guide data can be fetched. Commercial guide
data would likely require authentication. Whereas, there have
been guide sites in the past, that gave away the data for free,
and for those there might not be a need for authentication. I would
probably use a packet sniffer, if I thought the session to such a
site was unencrypted. If the session was encrypted, it would be
pretty hard to follow by making copies of all the packets.
I installed the program in a VM, and with a packet sniffer, I can see
this when I get the guide data for analog channels. The actual server
delivering the data is different, but this points to the first
point of contact.
xmltv.radiotimes.com
GET /xmltv/92.dat
Using procmon.exe I can see this for a storage operation. This is the
folder it stores things in on my Win2K VM.
6:45:52.3998817 PM TellyPrompter.exe 1040
CreateFile C:\Documents and Settings\UserName\My Documents\TellyPrompter
SUCCESS Desired Access: Write Data/Add File, Synchronize,
Disposition: Open, Options: ,
Attributes: n/a,
ShareMode: Read, Write,
AllocationSize: n/a,
OpenResult: DoesNotExist
and in that folder I can see two files
Programmes.dat
Settings.dat
and the first one would be where some version of 92.dat gets stored.
The file Programmes.dat is actually compressed, and 7ZIP opens it.
Inside 7ZIP lists these five files.
bbc1
bbc2
ch4
five
p_itv1
and those are text files. The first line of the bbc1 text file
contains all of this. So this looks like a program entry.
Robbed, Raided, Reunited~4/20, series 1~~~~~
false~false~true~true~true~false~false~false~~~
Reality~A pensioner is delighted to get her engagement ring back,
and police reunite a hoard of silver with its legitimate owner
using some old-fashioned detective techniques.
~false~07/11/2012~11:00~11:30~30
So then the question would be, does Windows 7 have a problem
writing to the equivalent of
C:\Documents and Settings\UserName\My Documents\TellyPrompter
The path is not the same in Windows 7, but for me to repeat
this set of ops, I'd have to get my laptop out
I don't
know if the TellyPrompter data folder will end up in some
library, or what.
You can use Sysinternals Process Monitor, to repeat the
tracing of where it attempts to write to. I had it
trace "CreateFile", "WriteFile", and "CloseFile", and
made the trace non-specific in other ways. And that
was enough filtering, that when I selected "Refresh" from
the menu in TellyPrompter, I could see where the data
was going.
In the failure case, you might use Proceee Monitor to see
a certain "CreateFile", with nothing after it, hinting
a failure had occurred.
http://technet.microsoft.com/en-us/sysinternals/bb896645
"Operation" "Is" "CreateFile" "Include"
Apply filter and start capture. Stop the trace when you
get what you need (as the filter will just run and burn
up storage otherwise).
HTH,
Paul