Date: Fri, 29 Mar 2024 10:37:02 +0000 (UTC) Message-ID: <1989722112.25009.1711708622819@ae5f4610bf64> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_25008_488044598.1711708622819" ------=_Part_25008_488044598.1711708622819 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This page provides important information for users of the Ice bi= nary distribution on Windows platforms.
On this page:
The Ice binary distribution for Windows provides all Ice run time servic= es and development tools to build Ice applications on Windows:
You only need the development environment for your target programming la= nguage to use this distribution. For example, if you want to build Ice appl= ications in Java, you need to install a JDK, but do not need to install Vis= ual Studio or Python.
After installing Ice, read the relevant language-specific sections below= to learn how to configure your environment and start programming with Ice.=
To use Ice for C++ you need to add one or more of the Ice bin=
directories to your PATH
. The changes you mu=
st make depend on your compiler and architecture, as listed below:
Visual Studio 2010SP1, 32-bit
> set PATH=3D<Ice installation root director= y>\bin;%PATH%
Visual Studio 2010SP1, 64-bit
> set PATH=3D<Ice installation root director= y>\bin;%PATH% > set PATH=3D<Ice installation root directory>\bin\x64;%PATH%
The x64
directory must come first in your&n=
bsp;PATH
.
Visual Studio 2012, 32-bit
> set PATH=3D<Ice installation root director= y>\bin\vc110;%PATH%
Visual Studio 2012, 64-bit
> set PATH=3D<Ice installation root director= y>\bin\vc110;%PATH% > set PATH=3D<Ice installation root directory>\bin\vc110\x64;%PATH= %
The x64
directory must come first in your&n=
bsp;PATH
.
Visual Studio 2013, 32-bit
> set PATH=3D<Ice installation root director= y>\bin\vc120;%PATH%
Visual Studio 2013, 64-bit
> set PATH=3D<Ice installation root director= y>\bin\vc120;%PATH% > set PATH=3D<Ice installation root directory>\bin\vc120\x64;%PATH= %
The x64
directory must come first in your&n=
bsp;PATH
.
If you don't want to rely on the PATH
environment=
variable to locate the Ice for C++ DLLs, you can also copy the DLLs into t=
he same directory as your executable.
To compile Ice for C++ applications with Visual C++, you should use the&= nbsp;Ice Visual Studio Add-= In.
To compile with Visual C++ Express where the Ice Visual Studio Add-in is= not available, you need to configure Visual Studio manually. This involves= adding the locations of the Ice header files, libraries, and executables t= o Visual Studio's configuration. Follow these steps:
cd Documents\My Project
Ice.props
to your project directory: <=
code>copy $(ALLUSERSPROFILE)\ZeroC\Ice.propsAdd Ice.props
The Release versions of the Ice libraries are compiled with /=
MD
to select the multi-threaded Visual C++ run-time library, wh=
ile the Debug versions use /MDd
to select the debug =
multi-threaded run-time library. Both versions of the Ice libraries are com=
piled with /EHsc
to select an exception handling model.
Your application must be compiled with the same flags as the Ice librari= es:
/MD /EHsc
/MDd /EHsc
To use Ice for .NET, you can either copy the .NET assemblies to the dire= ctory of your executable or add the .NET assemblies to the Global Assembly = Cache (GAC).
Copying the Ice for .NET assemblies to the executable directory is the s=
implest solution. You can set up your Visual Studio projects to copy the as=
semblies by setting the Copy Local
property to =
True
. To access this property in the Solution Explorer, open t=
he References
folder of your project and click on th=
e assembly to access its properties in the Properties
&nbs=
p;panel.
You can also add the Ice for .NET assemblies to the GAC. To do this, ope=
n a command prompt window with Administrator privileges and use =
gacutil
:
> gacutil /i <library.dll>
The gacutil
tool is included with your Visual C# =
installation. For example, if you have installed Visual Studio 2010 in =
;C:\Program Files
, the path to gacutil
=
is
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\gacutil.exe
Once installed in the GAC, the assemblies will always be located correct= ly without having to set environment variables or copy them into the same d= irectory as an executable.
If you want line numbers for stack traces, you must also install the PDB=
(.pdb) files in the GAC. Unfortunately, you cannot do this using Explorer,=
so you have to do it from the command line. Open a command shell window an=
d navigate to C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Ice (assuming
C:\Windows
is your system root). =
Doing a directory listing there, you will find a directory named v4.0_3.5.1.0__<UUID>
, for example:
v4.0_3.5.1.0__cdd571ade22f2f16
Change to that directory (making sure that you use the correct version n=
umber for this release of Ice). In this directory, you will see the Ice.pdb
file into this directory:
> copy <Ice installation root directory>\= Assemblies\Ice.pdb
The Ice for .NET run time implements protocol compression by dynamically=
loading the native library bzip2.dll
from a directo=
ry in your PATH
. Ice disables the protocol compression fe=
ature if it is unable to load the bzip2
library succ=
essfully.
This DLL is included in your Ice distribution, therefore the Ice PATH
:=
> set PATH=3D<Ice installation root director= y>\bin;%PATH%
On 64-bit Windows, use the following setting instead:
> set PATH=3D<Ice installation root director= y>\bin\x64;%PATH%
If the wrong PATH
is set, the Ice run time prints=
a warning to the console when it detects a bzip2.dll
&nbs=
p;format mismatch during start-up.
The Ice assembly for the .NET Compact Framework is installed as \Assemblies=
\cf\Ice.dll
. The Visual Studio Add-in detects a Smart Device project and automati=
cally configures it to use the .NET CF version of the Ice assembly.
The Ice assembly for Silverlight is installed as <Ice =
installation root directory>
\Assemblies\sl\Ice.dll. The Visual Studio=
Add-in detects a Silverlight project and automatically configures=
it to use the Silverlight version of the Ice assembly.
To use Ice for Java, you must add Ice.jar
to your=
CLASSPATH
, as shown below:
> set CLASSPATH=3D<Ice installation root dir= ectory>\lib\Ice.jar;%CLASSPATH%
If you intend to use Freeze for Java, you must include Freeze=
.jar
in your CLASSPATH
along with <=
code>Ice.jar:
> set CLASSPATH=3D<Ice installation root dir= ectory>\lib\Freeze.jar;%CLASSPATH%
Classes for the other Ice services are provided in separate JAR files:= p>
Glacier2.jar
IceBox.jar
IceGrid.jar
IcePatch2.jar
IceStorm.jar
If your application uses any of these services, add the appropriate JAR =
files to your CLASSPATH
as shown above.
To use a Freeze demo, the JVM requires that the directory containing Ber=
keley DB's native libraries be included in For a 64-bit JVM, use the following setting instead: Ice for Java supports protocol compression using the Note that these classes are a pure Java implementation of the bzip2 algo=
rithm and therefore add significant latency to Ice requests. ZeroC has created a Slic=
e2Java plug-in for Eclipse that automates the translation of your =
Slice files. If you use Eclipse, we strongly recommend using this plug-in f=
or your own development. The Slice2Java plug-in is required if you intend to build any of the And=
roid sample projects included in this distribution. For installation instructions, please refer to the Zero=
C web site. The manual<=
/a> provides more information about configuring the plug-in and using =
it in your projects. Ice requires Android 2.3 or later. Aside from that, there are no other s=
pecial requirements for using Ice in an Android application. We strongly re=
commend installing our Slice2Java plug-in for Eclipse to automate the =
compilation of your Slice definitions. To use Ice for Python, you must add the Ice For a 64-bit Python installation, use these settings instead: To use Ice for Ruby, you must add the Ice You must also set The binary distribution of PHP 5.4 for Windows is compiled with Visual S=
tudio 2008 (Visual C++ 9) and therefore is not compatible with the Apache b=
inaries provided by the Apache Software Foundation, which are compiled with=
Visual C++ 6. The Ice extension for PHP included in this installer is also compiled wi=
th VC9 for compatibility with the PHP binary distribution. To use this exte=
nsion, you will need a compatible PHP binary distribution as well as a comp=
atible Web server. If you wish to use Apache, you can obtain a VC9 build of=
Apache from alternate sources. If you require a version of the Ice extension for a different environmen=
t, you will need to compile the extension from source. Download the Ice sou=
rce distribution and review the The PHP documentation describes how to configure the Apache servers for =
PHP, and the PHP installer may have already performed the necessary steps. =
We provide instructions below for configuring PHP to use the Ice extension.=
These instructions make several assumptions: If you have a different installation, you will need to make the appropri=
ate changes as you follow the instructions. With Apache running, verify that PHP has been loaded successfully by cre=
ating a file in Apache's document directory ( Open the file in your browser using a URL such as If you have configured PHP correctly, you should see a long page of PHP =
configuration information. If you do not see this page, or an error occurs,=
check Apache's error log as well as the Windows event log for more informa=
tion. Also note that you may need to restart Apache if it was running at th=
e time you installed PHP. Review the settings on the browser page for an entry titled As an administrator, open this file in a text editor and append the foll=
owing line: The file Look for the If instead the Copy the DLL for the Ice extension to PHP's extension directory: Regardless of the location of PHP's extension directory, the Ice extensi=
on's dependent libraries must be located in Apache's executable search path=
. The Ice extension depends on the following libraries: All of these files can be found in the If Apache cannot find or access a DLL, Apache startup may fail with an a=
ccess violation, or the PHP module may ignore the Ice extension and continu=
e its initialization. Consequently, a successful Apache startup does not ne=
cessarily mean that the Ice extension has been loaded. Unfortunately, the m=
essage reported by PHP in Apache's error log is not very helpful; the error=
might imply that it cannot find Review the access rights on PHP's extension directory, the Ice extension=
DLL, and its dependent libraries. When running as a Windows service, Apach=
e runs in the Restart Apache and verify that the PHP module and the Ice extension have=
been loaded successfully. After reloading the java.library.path, therefore you must add this directory to your
. The presence of this section indicates that the extension wa=
s loaded.PATH
:<=
/p>
> set PATH=3D<Ice installation root director=
y>\bin;%PATH%
> set PATH=3D<Ice installation root director=
y>\bin\x64;%PATH%
bzip2 classes included with ant. Compression is automatically=
enabled if these classes are present in your
CLASSPATH
. =
You can either add ant.jar
to your CLASSP=
ATH
, or download only the bzip2 classes fromEclipse Dev=
elopment
Android
Python
bin
d=
irectory to your PATH
and set PYTHONPATH<=
/code> so that the Python interpreter is able to load the Ice ext=
ension. For a 32-bit Python installation, use these settings:
> set PATH=3D<Ice installation root director=
y>\bin;%PATH%
> set PYTHONPATH=3D<Ice installation root directory>\python
> set PATH=3D<Ice installation root director=
y>\bin\x64;%PATH%
> set PYTHONPATH=3D<Ice installation root directory>\python\x64
Ruby
bin
dir=
ectory to your PATH
:> set PATH=3D<Ice installation root director=
y>\bin;%PATH%
RUBYLIB
so that the Ruby interp=
reter is able to load the Ice extension:> set RUBYLIB=3D<Ice installation root direc=
tory>\ruby;%RUBYLIB%
PHP
php/INSTALL
file for=
details.
C:\Program Files\PHP
C:\Ice
1.=
Verify your PHP installation
htdocs
) called&nb=
sp;phpinfo.php
that contains the following line:<?php phpInfo();?>
2. Determine the location of your PHP configuration file=
L=
oaded Configuration File
. It will have a value such asC:\Program Files\PHP\php.ini
extension =3D php_ice.dll
php_ice.dll
contains the Ice extension f=
or PHP.3.=
Install the Ice extension DLL
extension_dir
setting in the browser=
page or in PHP's configuration file. It typically has the following value =
by default:extension_dir =3D "C:\Program Files\PHP\ext"
extension_dir
setting contains a r=
elative path, it it is resolved relative to the working directory of the Ap=
ache process (Apache's working directory is usually its installation direct=
ory).> copy C:\Ice\bin\php_ice.dll "C:\Program Files=
\PHP\ext"
4. Verify that Apache can load dependent libraries
bzip2_vc90.dll
ice35_vc90.dll
iceutil35_vc90.dll
slice35_vc90.dll
bin
subdir=
ectory of your Ice installation (e.g., C:\Ice\bin
). Apach=
e must be able to locate these DLLs during startup, and several alternative=
s are available:
PATH
=
. Using the System
control panel, change the system&=
nbsp;PATH
to include C:\Ice\bin
. Note t=
hat Windows must be restarted for this change to take effect.
C:\=
WINDOWS\system32
). We do not recommend this option.php_ice.dll
when in=
fact it was able to open php_ice.dll
but a dependen=
t DLL was missing or inaccessible.5. Review=
access rights
Local System
account (also known as&nb=
sp;NT Authority\SYSTEM
). You can use the cacls utility in a command window to view and modify access rights. For e=
xample, run the following commands to review the current access rights of t=
he Ice extension:
> cd \Program Files\PHP\ext
> cacls php_ice.dll
6. Restart Apa=
che
phpinfo.php
page in your browser, scan the entries for a section titled
If Apache does not start, check the Windows Event Viewer as well as Apac= he's log files for more information. The most likely reasons for Apache to = fail at startup are missing DLLs (see step 4) or insufficient access rights= (see step 5).
Your application will also need to include at least some of the Ice for =
PHP run-time source files (installed in C:\Ice\php
). To m=
ake these files available to your application, you can either modify PHP's =
include path or copy the necessary files to a directory that is already in =
the interpreter's include path. You can determine the current include path =
by loading the phpinfo.php
page in your browser and =
searching for an entry named include_path
.
If you want to make the Ice run-time files available to all PHP applicat=
ions on the host, you can modify the include_path
se=
tting in php.ini
to add the installation directory:<=
/p>
include_path =3D C:\Ice\php;...
Another option is to modify the include path from within your script pri= or to including any Ice run-time file:
ini_set('include_path', ini_get('include_path') . P= ATH_SEPARATOR . 'C:/Ice/php') require 'Ice.php'; // Load the core Ice run time definitions.
The main Ice for .NET assembly (Ice.dll
) included in the Wi=
ndows binary distribution uses unmanaged code. If you require only managed =
code then you can download the Ice source distribution and build Ice for .N=
ET in a purely managed version. Note that the managed version of Ice for .N=
ET omits support for protocol compression and for signal handling in the&nb=
sp;Ice.Application
class.
You can download the source distribution at the ZeroC web site.=
During installation, sample programs for all supported programming la=
nguages are installed by default in a sub-folder of the Document=
s
or My Documents
folder of the user who=
performed this installation. You'll find a shortcut to this directory in y=
our Start menu. You can also download a ZIP archive of thes=
e sample programs and extract the archive in a folder of your choice.
The config
subdirectory of your Ice installation =
includes sample configuration files for the Glacier2 router, IceGrid node, =
and IceGrid registry. These files provide a good starting point on which to=
base your own configurations, and they contain comments that describe the =
settings in detail.
If you intend to edit one of the configuration files but you have instal=
led your distribution into \Program Files
or
The Ice manual = ;provides more information on installing and running the IceGrid registry, = IceGrid node, and Glacier2 router as Windows services.
You can launch the IceGrid Administrative Console using the shortcut tha= t the Ice installer created in your Start menu as IceGrid Admi= n. The console is a Java program and requires JRE 7u6 or later.
The Ice binary distribution includes an add-in for Visual Studio that he= lps to create and manage projects with Slice files. The Ice Visual Studio Add-In support= s C++, .NET, .NET Compact Framework, and Silverlight projects.
The add-in does not support Visual Studio Express editions because Micro= soft does not permit add-ins to be written for Express editions of Visual S= tudio.
The installer for the Ice binary distribution detects if Visual Studio 2= 008, Visual Studio 2010, Visual Studio 2012, or Visual Studio 2013 is insta= lled on the target computer and configures the corresponding Ice add-in for= all users. If you install Visual Studio after installin= g Ice, you will have to re-run the Ice installer and choose Re= pair to install the add-in.
The Ice installer adds information to the Windows registry to indicate w= here it was installed. Developers can use this information to locate the Ic= e files in their applications.
The registration key used by this installer is:
HKEY_LOCAL_MACHINE\Software\ZeroC\Ice 3.5.1
The install location is stored as a string value named Instal=
lDir
.
The binary distribution for Windows includes the following third-party p= ackages as separate binary libraries: