Hi everyone. I really could use your help, if anyone can figure this out.
As you may know, the Celestia Educational Activity series is based on a set of guided journeys through Celestia space, using a written educational activity document. The document is written in MS Word. It contains many cel:urls that when clicked on, will take you to specific places in Celestia.
The educational activities use almost 100 add-ons. Rather than load them all, each activity uses its own cfg file, which dictates which add-ons are loaded in specific extras folders. Thus, Activity 1 has a custom cfg file that directs Celestia to load only the add-ons for Activity 1.
It works well. To activate that particular cfg file, I use a Windows shortcut to launch Celestia-ED. The shortcut uses a command line, which specifies which cfg file Celestia should reference.
MS Word has the ability to launch another program through the use of an embedded link. My activities all have a hyperlink that points to that customized Windows shortcut. By clicking on that link when the activity document is open, MS Word links to the shortcut, which in turn, launches Celestia-ED using only the add-ons the Activity needs.
Now, here is the problem. Some time ago, after installing some Microsoft updates, I opened an Activity document, clicked on that embedded shortcut, and nothing happened. I immediately system restored, and everything worked again. What was weird was that none of the updates had anything to do with MS Word.
A few weeks later, I installed a video game. The same thing happened. The shortcut in MS Word that launches files, stopped working (the video game had NOTHING to do with MS Word). All the cel:urls in the Activity document continued to work, but I could no longer activate that Windows shortcut. Uninstalling the game failed to fix the problem. I had to again system restore. That fixed it.
Since then, every video game I install results in the same thing. In addition, I have gotten emails from at least five people who have the same problem. They open an educational activity document in MS Word, click on that one hyperlink that is supposed to launch the Windows shortcut, and nothing happens.
Somehow, some registry entry is being changed when video games and other updates are installed on some computers, that blocks MS Word from launching another problem from an embedded hyperlink.
Does anyone have any clue what might be the cause?
Thanks in advance
Frank
Help in a curious conflict between Celestia and MS Word
- Adirondack
- Posts: 528
- Joined: 01.03.2004
- With us: 20 years 8 months
-
Topic authorfsgregs
- Posts: 1307
- Joined: 07.10.2002
- With us: 22 years 1 month
- Location: Manassas, VA
Adirondack:
The problem is not with cel:urls. They work fine. the problem is with the link to the Windows shortcut file that I use to launch Celestia. As I mentioned, I have placed a Windows shortcut to Celestia-ED in a particular folder in Celestia. The shortcut has a command line attached to it, which specifies a particular custom cfg file to be used when Celestia is launched. Inside that cfg file, I list only the extras folders that contain only the add-ons I want to load.
In MS Word, click on the link to the shortcut file, and MS Word will open the shortcut, which opens Celestia using the custom cfg file. That is the problem. For reasons unknown to me and several other Celestia users, something happens to MS Word that stops it from executing Windows shortcuts to other programs. The shortcut itself is not changed. Clicking on it directly works fine. It is only through MS Word that it stops working.
It seems related to a change in the registry that occurs when a video game or certain Windows update files are loaded onto the affected computers, but I'll be damned what could be changing to affect MS Word like that. Why would loading a graphic intensive video game have anything to do with MS Word's ability to execute a Windows shortcut file??? Why doesn't it happen to every computer's copy of MS Word?
HELP!!!
Frank
The problem is not with cel:urls. They work fine. the problem is with the link to the Windows shortcut file that I use to launch Celestia. As I mentioned, I have placed a Windows shortcut to Celestia-ED in a particular folder in Celestia. The shortcut has a command line attached to it, which specifies a particular custom cfg file to be used when Celestia is launched. Inside that cfg file, I list only the extras folders that contain only the add-ons I want to load.
In MS Word, click on the link to the shortcut file, and MS Word will open the shortcut, which opens Celestia using the custom cfg file. That is the problem. For reasons unknown to me and several other Celestia users, something happens to MS Word that stops it from executing Windows shortcuts to other programs. The shortcut itself is not changed. Clicking on it directly works fine. It is only through MS Word that it stops working.
It seems related to a change in the registry that occurs when a video game or certain Windows update files are loaded onto the affected computers, but I'll be damned what could be changing to affect MS Word like that. Why would loading a graphic intensive video game have anything to do with MS Word's ability to execute a Windows shortcut file??? Why doesn't it happen to every computer's copy of MS Word?
HELP!!!
Frank
- LordFerret
- Posts: 737
- Joined: 24.08.2006
- Age: 68
- With us: 18 years 3 months
- Location: NJ USA
If I'm understanding you correctly, you've inserted a 'hyperlink'.
I'm thinking that your Link in Word is dependant on the system's OLE handler, a table which Windows uses and manages dynamically... and that any change to the table (or update to OLE) without Word running and your document open and linked, would result in a broken Link.
If this is true, you could test it by leaving Word running with the document open and installing the game... and after the game is installed, go back to Word and see if the Link still works.
What you may want to try instead, is embedding a package with the insert command (Insert / Object / Package)... the package being a command line to invoke Celestia directly, passing it the command string you've defined in the shortcut. This would by-pass the shortcuts. And - rather than appear as a hyperlink in the document, you'll see an icon (Celestia's?) which you double-click on to open and activate.
I'm thinking that your Link in Word is dependant on the system's OLE handler, a table which Windows uses and manages dynamically... and that any change to the table (or update to OLE) without Word running and your document open and linked, would result in a broken Link.
If this is true, you could test it by leaving Word running with the document open and installing the game... and after the game is installed, go back to Word and see if the Link still works.
What you may want to try instead, is embedding a package with the insert command (Insert / Object / Package)... the package being a command line to invoke Celestia directly, passing it the command string you've defined in the shortcut. This would by-pass the shortcuts. And - rather than appear as a hyperlink in the document, you'll see an icon (Celestia's?) which you double-click on to open and activate.
- Adirondack
- Posts: 528
- Joined: 01.03.2004
- With us: 20 years 8 months
Oh, sorry for this misunderstanding.fsgregs wrote:The problem is not with cel:urls.
Maybe it's an issue of (silently updated) Microsoft DirectX drivers?
I know, that sounds strange, but it's just a thought since video games occur the same problem.
What happens, when you re-install the NVIDIA driver after installing a problematical video game or the MSWord updates?
Adirondack
We all live under the same sky, but we do not have the same horizon. (K. Adenauer)
The horizon of some people is a circle with the radius zero - and they call it their point of view. (A. Einstein)
The horizon of some people is a circle with the radius zero - and they call it their point of view. (A. Einstein)
-
Topic authorfsgregs
- Posts: 1307
- Joined: 07.10.2002
- With us: 22 years 1 month
- Location: Manassas, VA
Lord Ferret:
This sounds good. When I tried it, and pasted the command line in, the file failed to open (an error said Celestia could not execute the cfg file). Here is the line I pasted:
"C:\Program Files\Celestia-ED\celestia_ED.exe" --conf cfg_files/Activity1&2-141.cfg
This is the line from the Windows shortcut "target". Do I also need some type of "run" command at the beginning of the line? I know NOTHING about command lines.
Thanks
Frank
What you may want to try instead, is embedding a package with the insert command (Insert / Object / Package)... the package being a command line to invoke Celestia directly, passing it the command string you've defined in the shortcut. This would by-pass the shortcuts. And - rather than appear as a hyperlink in the document, you'll see an icon (Celestia's?) which you double-click on to open and activate.
This sounds good. When I tried it, and pasted the command line in, the file failed to open (an error said Celestia could not execute the cfg file). Here is the line I pasted:
"C:\Program Files\Celestia-ED\celestia_ED.exe" --conf cfg_files/Activity1&2-141.cfg
This is the line from the Windows shortcut "target". Do I also need some type of "run" command at the beginning of the line? I know NOTHING about command lines.
Thanks
Frank
- LordFerret
- Posts: 737
- Joined: 24.08.2006
- Age: 68
- With us: 18 years 3 months
- Location: NJ USA
I would think you'd want the parameters within the quoted command line, they're part of the command being passed...
...like this:
"C:\Program Files\Celestia-ED\celestia_ED.exe --conf cfg_files/Activity1&2-141.cfg"
I don't have Celestia-ED, I have Celestia v1.4.1, but I'll create a document and try it out - and if I can make it work I'll post how.
...like this:
"C:\Program Files\Celestia-ED\celestia_ED.exe --conf cfg_files/Activity1&2-141.cfg"
I don't have Celestia-ED, I have Celestia v1.4.1, but I'll create a document and try it out - and if I can make it work I'll post how.
- LordFerret
- Posts: 737
- Joined: 24.08.2006
- Age: 68
- With us: 18 years 3 months
- Location: NJ USA
The problem I find, is with paths. In particular, the packager object in Word doesn't seem to want to work with long pathnames - it prefers 8-character pathnames... for example, "c:\Program Files" would need to be specified as "c:\progra~1". I suspect this has something to do with the command processor used when Word launches the process.
So, this will not work:
c:\Program Files\Celestia\celestia.exe --conf c:\Documents and Settings\LordFerret\My Documents\ferret-test.cfg
I also discovered that, even using 8-character pathnames, only part of the problem is solved. Another part of the problem is that the working directory remains unchanged, and while Celestia will start it can't find its files.
So, this will not work:
c:\progra~1\celestia\celestia.exe --conf c:\docume~1\lordfe~1\mydocu~1\ferret-test.cfg
The only solution I found was to create a batch file, which set (changed to) Celestia's working directory and then invoked Celestia and passed the config file parameter. Notice too that I used 8-character pathnames in both the packager object command line and the batch file commands.
So, this does work:
(the packager object command line)
c:\docume~1\lordfe~1\mydocu~1\ferret-test.bat
(the batch file contents)
Unfortunately there's catch to this too... Word warns you that your launching an unknown package (the batch file)... and then Windows warns you that you're about to run a batch file (considered a security risk). So, I'm looking for a way around that.
Nothing is easy is it.
So, this will not work:
c:\Program Files\Celestia\celestia.exe --conf c:\Documents and Settings\LordFerret\My Documents\ferret-test.cfg
I also discovered that, even using 8-character pathnames, only part of the problem is solved. Another part of the problem is that the working directory remains unchanged, and while Celestia will start it can't find its files.
So, this will not work:
c:\progra~1\celestia\celestia.exe --conf c:\docume~1\lordfe~1\mydocu~1\ferret-test.cfg
The only solution I found was to create a batch file, which set (changed to) Celestia's working directory and then invoked Celestia and passed the config file parameter. Notice too that I used 8-character pathnames in both the packager object command line and the batch file commands.
So, this does work:
(the packager object command line)
c:\docume~1\lordfe~1\mydocu~1\ferret-test.bat
(the batch file contents)
Code: Select all
@echo off
echo Launching Celestia...
cd c:\progra~1\celestia
celestia.exe --conf c:\docume~1\lordfe~1\mydocu~1\ferret-test.cfg
Unfortunately there's catch to this too... Word warns you that your launching an unknown package (the batch file)... and then Windows warns you that you're about to run a batch file (considered a security risk). So, I'm looking for a way around that.
Nothing is easy is it.