Whiteley Research Incorporated


Windows Installation
IC Design Software for Unix/Linux and Windows
Whiteley Research Inc., 456 Flora Vista Avenue, Sunnyvale CA 94086    wrcad.com
Microsoft Windows Installation, Updating, and Removal

Installation

The XicTools for Windows are supported on Windows 10 and 11. They should run on Windows 8.1 and maybe 8.0 and 7, but I have no hardware to test this, or to diagnose/fix any problems.

The programs retain the "look and feel" of the Linux versions as much as possible, given the constraints of the Windows operating system. The programs use the GTK2 or QT6 graphical interface toolkits, as used by the other releases. The graphical and other support libraries are now supplied by installing and running the programs under the MSYS2 environment, which must be installed. Previous releases used a "gtk2_bundle" to provide this support, which is no longer required. MSYS2 is a Linux-like environment similar to Cygwin.

The distribution files are self-extracting executable archives, as is common for Windows. Simply execute the file, and a familiar install wizard will appear, guiding you through the process. Executing the distribution file will either update an existing installation, or install a new installation. When updating, the previous release will be saved using the Safe Install format. The Safe Install feature, available with Windows starting with 4.3 releases, allows easy reversion to the earlier installation after an update, if needed.

However, Win32 packages will not be updated by MINGW packages, and may be installed in the same location, causing file conflicts.

WARNING
If you have Win32 XicTools programs installed, it is strongly recommended to manually uninstall the Win32 programs, including the gtk2_bundle before installing the MINGW packages.

Programs are uninstalled with the Settings (gear-shaped icon) in the Start window, select Apps and scroll down to the program to uninstall. Click on the program icon and follow directions to uninstall. Note, this location varies in different Windows versions.

Registry Usage Warning

The programs use an entry in the Windows Registry to find their startup files, etc. This entry is created by the installer program. Thus:

  1. Never copy installation directories to a different location and expect things to work! They won't!

    The correct way to move an existing installation to another location is to uninstall the program, then reinstall to the new location using the standard distribution file. If you simply copy the files to a new location, the Registry won't be updated and the program won't run correctly.

  2. You can not simply copy files from another machine when creating a new installation. The files must be installed through the distribution (".exe") files, or the Registry entry won't be set.

Installation location

The programs are installed by default under C:\usr\local, which will be created if necessary. The structure of the tree is very similar to that under Linux, which simplifies compatibility. All executables will be found in C:\uer\local\xictools\bin.

Although the installation program allows the user to specify an alternative location for the installation, and an alternative name for the program group, life will be simpler if the defaults are selected. In particular, installing in a place like C:\Program Files, with the space-containing path, will provide a guaranteed migraine.

Selecting GTK2 or QT6 graphics

Presently, two sets of executable files are provided in the packages, one that calls the GTK2 graphical toolkit, and one that calls Qt6. Operation is very similar if not identical, though there are cosmetic differences and some other subtle differences. Qt will eventually replace GTK2, but for now GTK2 is kept for comparison purposes and as a backup if there is trouble.

If you do nothing, the GTK2 programs are run. To run the Qt6 versions instead, you will need to create a one-line file. This file is named ".xtrc" and exists in your home directory, or the currrent directory. You can create this file using your favorite text editor, or just give the command

echo grpref=QT6 > $HOME/.xtrc
The text in the .xtrc file is
grpref=QT6
to set the choice to Qt6. Note that there is no white space around the '=' character. To revert to GTK2 one can change the "QT6" to "GTK2", or comment the line by inserting a '#' charcter at the beginning.

The text in the .xtrc file is

grpref=QT6
to set the choice to Qt6. To revert to GTK2 one can change the "QT6" to "GTK2", or comment the line by inserting a '#' charcter at the beginning.

Installing MSYS2

Starting January 2021, all Windows binaries are 64-bit, compiled under the MINGW64 subsystem of MSYS2 (64-bit version).

Although it may be possible to run the programs from other MINGW64 installations, for example Cygwin, it is recommended MSYS2 be installed. This replaces the gtk_bundle package that was previously used to supply graphical interface dlls.

When installing MSYS2 and XicTools programs, you are strongly advised to install in the default locations if possible.

Go to www.msys2.org. Download and run the installer, and follow the directions. It is easy. When done, you will have a shell window on the screen. You should type the following commands to load some things you'll need.

pacman -S vim
pacman -S winpty
pacman -S mingw-w64-x86_64-gsl
pacman -S mingw-w64-x86_64-gtk2
pacman -S mingw-w64-x86_64-qt6

This provides the vim editor, the winpty program described below, the GTK2 and QT6 libraries and dependencies, and the Gnu Scientific Library. These satisfy all references needed to run the XicTools programs.

Then, use the vim editor to edit the .bash_profile file that exists in the current (your home) directory. Add the following lines to the bottom of the file:

mount c:/usr/local/xictools /usr/local/xictools
export PATH="/usr/local/xictools/bin:$PATH"
export XT_HOMEDIR=c:/msys64/home/your_username
To run the programs in the future:
Click MSYS2 64bit in the Start menu, then MSYS2 MinGW x64 in the sub-menu. This brings up a shell window with the MinGW 64-bit support enabled. Note that there are multiple choices in the sub-menu so be sure to select the one specified, others may not work with the XicTools programs.

Take some time to learn about MSYS2 and MINGW64, particularly the pacman package manager. You can install lots of useful software that runs in this environment.

The mintty Terminal Emulator Window

The terminal window used in MSYS2 is "mintty". This does NOT work directly with native Windows programs that work with a console window, which includes the XicTools programs. One must run WRspice and possibly Xic with the "winpty" program. Just type winpty followed by the name and arguments of the program you want to run.

For example, the command to run WRspice is

winpty wrspice ...
where the ... represents the command line arguments to wrspice.

The winpty program performs some magic that enables native Windows programs expecting to find a cmd.com type of window to work with the mintty.

MSYS2 Basics

The environment is a bash shell and environment very similar to Linux.

You bring up a new shell window from the MSYS2 64bit / MSYS2 MinGW x64 entry of the Start menu. There are multiple selections for MSYS2 in the Start menu, including MSYS2 MinGW x86 which is the MINGW 32-bit subsystem, MSYS2 MinGW x64 is the MINGW 64-bit subsystem used for XicTools, and MSYS2 MSYS is the MSYS subsystem without MinGW support. MinGW is "minimal Gnu (for) Windows" and is a library that provides a limited Linux-like programming environment under Windows. The XicTools programs use this environment and are thus Windows-native programs.

MSYS2 uses an underlying dll to provide a more complete Linux-like environment, similar to Cygwin. Installed programs are available for all three subsystems, though the search order differs. The XicTools do not use the dll, but the MSYS2 environment is very convenient for use with the tools. The MSYS subsystem provides the shell and other Linux-emulation commands. The MinGW subsystems provide libraries which enable porting of Linux programs to native Windows.

From the shell window, the file system installed under c:\msys64 (or wherever the msys64 directory is installed) is taken as root. One can access the files and directories explicitly with a path starting with /c where the c can be any existing drive letter. Your home directory is /home/yourname, or equivalently /c/msys64/home/yourname.

It is important to realize that within MINGW and other native Windows programs including XicTools, the paths used by the programs are expected to be Windows paths, though they may use forward slashes. For example, in the shell /usr/local is rooted to the msys64 directory, but within Xic /usr/local is rooted to the current drive, e.g., c:/usr/local.

In MSYS2, the mount command can provide an alias between the file system as viewed from the shell and that of Windows. The command

mount c:/usr/local/xictools /usr/local/xictools
will map the Windows directory c:/usr/local/xictools to the location /usr/local/xictools in the shell. From a shell window, /usr/local/xictools is equjivalent to /c/usr/local/xictools, or in Windows c:/usr/local/xictools, the default Xictools installation location.

XicTools Installation procedure

The easiest way to install/upgrade is to download and execute the package files. The programs being upgrated should not be running during the update or the update will fail. The files can also be saved and executed at some later time.

Notes

Conformity

Most basic features are available under Windows. Some of the more advanced features are not.

  • There is no support for plug-ins, so presently no Tcl/Tk or Python script language support, and no OpenAccess connectivity.

  • There is no provision for remote running of the programs as with the X window system in Linux.

  • Windows does not provide a reliable interface for internet mail, so the email clients and crash-dump report in the XicTools may not work. The mail in XicTools works by passing the message to a Windows interface called "MAPI", which in turn relies on another installed program to actually send the mail.

    To get this working in Windows 8, I had to download and install something called "live mail" from Microsoft, which eventually worked. This app supports MAPI, apparently the Windows 8 Mail app does not(?). The Windows 8 app also does not work with POP3 servers.

Removal

Programs are uninstalled with the Settings (gear-shaped icon) in the StartApps and scroll down to the program to uninstall. Click on the program icon and follow directions to uninstall.

Updating

Once the Xic and WRspice have been installed, updating could not be simpler. See the program documentation:
  • In WRspice, give the commands "help passwd" and "help wrupdate".
  • In Xic, with the mouse pointer in the main drawing window, type "?!passwd" and "?!update"".
These help topics explain how to set up and use the update features. The programs will check for updates when started, and updates can be downloaded and installed. Other programs will have a simplified update checking/installing mechanism to be determined. The programs can also be updated manually by following the installation procedure.

Copyright © Whiteley Research Inc. 2025