| gclib 421 Communications API for Galil controllers and PLCs |

windows.md
1 # Microsoft Windows {#windows}
2
3 ##Tested versions
4
5 See the \link installation \endlink page for supported versions.
6
7 ##Installation
8 On Windows, gclib is distributed in the following formats.
9 * An executable installer which will install the library in the proper location to work with the included examples and documentation. PCI users can optionally install the PCI driver from within this installer.
10 * A zip file containing the same set of files as the executable but in a zip archive. PCI users can use the stand-alone PCI driver installer.
11 * A stand-alone PCI driver installer for PCI users (DMC-1806, 1800, 1802, 1417).
12
13 \note The PCI driver is compatible with GalilTools but is enhanced for gclib communications.
14
15 ### Download Installer
16
17 **Recommended**. All instructions and examples depend on the installation paths.
18
19 \htmlonly
20 <a href="http://www.galil.com/sw/pub/all/rn/gclib.html">
21 <img src="http://galil.com/sw/pub/all/doc/images/download.png" alt="Download" />
22 Download from the release notes page
23 </a>
24 \endhtmlonly
25
26 ### Download Zip
27 For custom deployment or non-default file locations. Downloads are available on the <a href="http://www.galil.com/sw/pub/all/rn/gclib.html">release notes</a> page.
28
29
30 ###Required third-party DLLs
31 gclib is built using **MSVC 2015** and requires run-time components available in the
32 <a href="https://www.microsoft.com/en-us/download/details.aspx?id=52685">Microsoft Visual C++ Redistributable Packages for Visual Studio 2015</a>.
33
34 The gclib installer will automatically install these prerequisites for both
35 32 bit (x86) and 64 bit (x64) builds. The installer allows the user to opt out of this installation, if desired.
36
37 If using the zip installation, the binaries must be downloaded and installed manually.
38
39 ###Silent Installation
40 For developers wishing to bundle gclib within their own installers, execute
41 the gclib installer with the /S switch to run silently with defaults.
42 If the Galil security certificate is not already trusted on the deployment
43 target, a digital signature dialog may be presented.
44
45 ### Uninstall gclib
46 * Run `uninstall.exe` in "C:\Program Files (x86)\Galil\gclib"
47
48 ##Installed Files
49 Installation from the executable installer looks like the following.
50
51 C:\Program Files (x86)\Galil\gclib>tree /a
52 Folder PATH listing for volume OS
53 Volume serial number is AE3F-6836
54 C:.
55 +---dll
56 | +---x64
57 | \---x86
58 +---doc
59 | \---html
60 | \---search
61 +---examples
62 | +---cpp
63 | +---cs
64 | | \---2013_12.0
65 | | \---gclib_example
66 | | \---gclib_example
67 | | \---Properties
68 | +---gcc
69 | +---mingw
70 | +---msvc
71 | | \---2013_12.0
72 | | \---gclib_example
73 | | \---gclib_example
74 | \---vb
75 | \---2013_12.0
76 | \---gclib_example
77 | \---gclib_example
78 | \---My Project
79 +---include
80 +---lib
81 | \---dynamic
82 | +---x64
83 | \---x86
84 \---source
85 +---gclibo
86 \---wrappers
87 +---cs
88 +---gcl
89 \---vb
90
91
92 ### dll
93 The *dll* directory contains the binary *dynamic link libraries* (DLLs) for both x86 and x64 architectures. **Dynamically linked executables must have the correct dlls in their path at runtime**.
94
95 ###doc
96 The *doc* directory contains this documentation and a printable, pdf version.
97
98 ###examples
99 The *examples* directory contains example projects for various compilers. The *cpp* directory contains *x_examples.h* and the implementation of the example files documented in this manual.
100
101 \warning
102 Before using the examples, copy the files to a user location such as *C:\\Users\\user\\Documents*. Failing to do so may cause source files to be deleted upon gclib uninstallation.
103
104 ###include
105 The *include* directory contains header files needed for compiling code. The compiler will need to know where these files are at compile time.
106 See the compiler-specific directions for more information, e.g. <a href="md_mingw.html">gclib using MinGW</a>.
107
108 ###lib
109 The *lib* directory contains linker files (*gclib.lib* and *gclibo.lib*) for both x86 and x64 architectures.
110 The linker should include *gclib.lib* and *gclibo.lib*.
111
112 ###source
113 The *source* directory contains source files such as gclibo.c.
114
115