Home Help Center

Ruby / Mongrel_Service /Ice on Windows

ccj27529ccj27529 Member Chris JusticeOrganization: TWOProject: Ruby / RubyGems / Mongrel / Ice integration
I am having an issue with installing a mongrel_service under Windows, where the underlying Ruby/Rails app is using Ice. The versions of the software are as follows:

Windows XP SP2
Ruby 1.8.6
Rails 1.2.5
RubyGem 0.9.4
Mongrel 1.1.3
Mongrel_Service 0.3.4

When I create my service using mongrel_rails service::install -N <name> -p <port> -a 127.0.0.1 from the Ruby app home directory, the service creates correctly. But when I start the service, in the ruby\bin directory, I find in the mongrel.log file the is a LoadError for c:\Ice-3.2.0-VC60\ruby/IceRuby.dll (even though the windows service continues to state it is running).

If I run the mongrel_service from the command prompt using the console command, all works fine.

Since the mongrel_service installed will run as the system account, is there some type of windows environment configuration I need to do so that the dll is found.

I am sorry. I am not on the development team for this project, but have been task to have it running on both windows and linux. Any help or idea where to look for help would be appreciated.

Comments

  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Hi Chris,

    Welcome to the forum.

    If a program runs correctly in your user account but not under a system account, it's most likely due to a DLL search path issue. IceRuby.dll depends on a number of other DLLs, so when you see a message similar to "unable to load IceRuby.dll", it could mean that its DLL dependencies could not be resolved.

    The solution is the same as for any other executable or DLL: you need to place the DLL dependencies in a directory that is present in the DLL search path of the chosen user account. One approach is to copy all of the dependencies to \WINDOWS\system32. If that's not acceptable, you can modify the user's PATH environment variable to include the directory containing the DLL dependencies. Finally, you can copy the dependencies to the same directory as the executable you are running (mongrel_service?).

    Please note that we only provide free support here on the forum for the most recent release of Ice.

    Take care,
    Mark
Sign In or Register to comment.