ruby & activeTcl run solely from a usb flash drive

S

Sari Connard

All,

My goal is to run a ruby (gui/tk) from a usb flash drive.
I have ruby (for windows) and Active Tcl installed on a usb flash drive.
I would like to plug this into a windows os machine and not disrupt the
windows os machine by making any changes to environment settings, and be
able to run a ruby program using Active Tcl library for the gui. I have
been able to run a ruby program (without gui) like this, but have not
been able to make the Active Tcl library available for the gui.

When I use this line from a bat file located on the usb flash drive:
\ruby\bin\ruby.exe -I \tcl\bin -I \ruby\bin -I \tcl\lib -rlibrary
\tcl\lib\tcl8.4 -rlibrary \tcl\lib\tk8.4 test.rb

The error I get is:
\ruby\bin\ruby.exe: Permission denied -- /tcl/lib/tcl8.4 (LoadError)

Is there a way to get the Active Tcl libraries available to the usb ruby
without making any os environment changes?

Thanks, Sari
 
H

Hidetoshi NAGAI

From: Sari Connard <[email protected]>
Subject: ruby & activeTcl run solely from a usb flash drive
Date: Tue, 24 Oct 2006 03:37:54 +0900
Message-ID: said:
My goal is to run a ruby (gui/tk) from a usb flash drive.

When I created a CD-R for running Ruby (One-Click Ruby) + ActiveTcl
on the CD-R, I used the following batch file to initialize environment
of a command-prompt.

------<rubytk-setup.bat>---------------------------------
@echo off

rem *** initialize ***
set ENVROOT=%~dp0
set RUBYVER=182
set TCLVER=8.4

:arg_check
if "%1"=="" goto setup

if not "%1"=="8.5" goto check_85
set TCLVER=8.5
shift
goto arg_check

:check_85
if not "%1"=="85" goto check_8.4
set TCLVER=8.5
shift
goto arg_check

:check_8.4
if not "%1"=="8.4" goto check_84
set TCLVER=8.4
shift
goto arg_check

:check_84
if not "%1"=="84" goto check_root
set TCLVER=8.4
shift
goto arg_check

:check_root
set ENVROOT=%~f1
shift
goto arg_check

:setup
echo env_root is %ENVROOT%
echo add %ENVROOT%ruby%RUBYVER%\bin and %ENVROOT%ActiveTcl%TCLVER%\bin
to PATH
set
PATH=%ENVROOT%ruby%RUBYVER%\bin;%ENVROOT%ActiveTcl%TCLVER%\bin;%PATH%
set RUBYBINPATH=%ENVROOT%ruby%RUBYVER%\bin

rem set RUBYOPT=rubygems

set ENVROOT=
set RUBYVER=
set TCLVER=
---------------------------------------------------------

On the CD-R, extracted Ruby and ActiveTcl files were placed like as
the next.
---------------------------------------------------------
/Windows/rubytk-setup.bat

/Windows/ActiveTcl8.4:
MANIFEST README.txt bin/ demos/ doc/ include/ lib/
license.terms

/Windows/ActiveTcl8.5:
MANIFEST README.txt bin/ demos/ doc/ include/ lib/
license.terms

/Windows/ruby182:
ProgrammingRuby.chm doc/ installer/ readme.txt share/
ReleaseNotes.txt freeride/ lib/ samples/ uninst.exe
bin/ include/ man/ scite/
 
A

Andrew Thompson

Sari said:
All,

My goal is to run a ruby (gui/tk) from a usb flash drive.
I have ruby (for windows) and Active Tcl installed on a usb flash drive.
I would like to plug this into a windows os machine and not disrupt the
windows os machine by making any changes to environment settings, and be
able to run a ruby program using Active Tcl library for the gui. I have
been able to run a ruby program (without gui) like this, but have not
been able to make the Active Tcl library available for the gui.

When I use this line from a bat file located on the usb flash drive:
\ruby\bin\ruby.exe -I \tcl\bin -I \ruby\bin -I \tcl\lib -rlibrary
\tcl\lib\tcl8.4 -rlibrary \tcl\lib\tk8.4 test.rb

The error I get is:
\ruby\bin\ruby.exe: Permission denied -- /tcl/lib/tcl8.4 (LoadError)

Is there a way to get the Active Tcl libraries available to the usb ruby
without making any os environment changes?

Thanks, Sari

I built tcl/tk manually (ActiveTCL has distribution restrictions), built
ruby manually and stuck them all in the same directory (containing bin,
lib, etc). I then used this batch script to start ruby:

SET PATH=%CD%;%CD%\bin;%PATH%
ruby main.rb

This way, I'm insulated from other ruby/tk installs on the system and I
don't affect any existing installs on the system (the path change is
purely local). I haven't tested this from a USB drive, but it works for
a zipfile unzipped to a random place on a windows machine and run as a
restricted user.

Andrew
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,835
Latest member
KetoRushACVBuy

Latest Threads

Top