I have the problem described here - 
http://stackoverflow.com/questions/3735922/issue-with-oledbconnection-open-when-running-as-a-service

Basically, I've installed cygwin plus openssh for the purpose of remotely 
logging into my windows machine from a linux machine over ssh to run an 
executable on the windows machine.

My first problem was that my original executable I was trying to run (written 
in FoxPro) insisted on attempting to create a GUI window even though there was 
no desire to have visual feedback or user interaction, so attempts to call the 
executable through cygwin resulted in a hung command in the shell.  It appears 
that FoxPro can't actually create an executable that doesn't also create a GUI 
window.  After reading lots of comments about services interacting with the 
desktop and limitations that MSFT has put on recent versions of windows with 
respect to that feature, I abandoned this approach.

I decided that perhaps I could accomplish the same thing I was trying to 
accomplish with the FoxPro executable with a simple C# console application that 
would not attempt to create a GUI (with an oledb connection to the FoxPro data 
I'm trying to access).  The C# program works well outside of cygwin, but the 
cygwin+openssh shell (apparently) doesn't contain lots of the environment 
variables that .NET expects, so it blows up opening the oledb connection with 
some complaint about MDAC 2.6 or greater not being installed.  It's been a 
while since I've had to install MDAC, so I knew that was a false error message. 
 Google-fu (and the link I referenced above) suggests that perhaps some 
environment variables are missing, which of course is true.  I understand the 
logic for not creating said environment variables, and although I tend to 
disagree with that logic, frankly I just don't know enough about it and I'm 
probably biased due to banging my head against this particular problem.

Anyway, at least one suggestion I found was that my problem may be caused by 
the CommonProgramFiles(x86) environment variable needing to be set to 
'C:\Program Files (x86)\Common Files'.  So, can anyone suggest how to set an 
environment variable whose VARIABLE NAME (not just the VALUE) contains 
parentheses?!?  The standard backslash escape character doesn't appear to work 
in this scenario.  That, or perhaps I'm on the wrong track altogether.  I'm 
open to any suggestions.

Thanks!

-BJ Quinn

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to