Dyalog Ltd

South Barn
Minchens Court
Minchens Lane
Bramley
Hampshire
RG26 5BH
United Kingdom

Phone:
+ 44 (0) 1256 830 030

Fax:
+ 44 (0) 1256 830 031

e-mail:
sales@dyalog.com

 





 

Frequently Asked Questions (always under construction)

These pages contain answers to Frequently Asked Questions regarding Dyalog products and services.

Categories


Pricing and Availability
Troubleshooting Error Messages
Installation and Configuration Issues



Pricing and Availability


What is the price of a Dyalog system?
How can I download a copy of Dyalog?

Troubleshooting Error Messages


Could not modify stub.dll
Could not load .Net interface library bridge__.dll. (Error 0x0000007e)
(when attempting to use Microsoft.Net classes from Dyalog)
File or assembly name bridgennn, or one of its dependencies, was not found.
(when trying to use a Dyalog-based .Net assembly from another .Net environment)
Error IA8
(During installation)

Installation and Configuration Issues


How do I control which version is used to open a .DWS file?
How do I specify MAXWS for bound Executables?
Why can't I set MAXWS to use all the memory in my 32-bit system?
Is Dyalog Compatible with Windows Vista?
How do I Install a v11.0 ASP.NET Application on a "Clean Machine"?
How do I Install a v10.1 ASP.NET Application on a "Clean Machine"?


What is the price of Dyalog?

Our price list is available on line at the page. A separate page explains the terms and conditions which apply to the price list.


How can I download a copy of Dyalog?

You can apply for, and subsequently download, Educational and Non-Commercial systems, from the download zone.


Error message: Could not modify stub.dll

The error message "Could not modify stub dll (Error: failed to load runtime engine)" means that Dyalog APL is unable to find the file named dyalognnn[rt].dll (where nnn is a set of digits which will vary according to the Dyalog version). This file needs to be on the system path (names in the PATH environment variable).

Under Windows XP, you can check the definition of PATH and other environment variables by going to Control Panel, System, Advanced, Environment Variables.

Version 10.1:

The installer should create an environment variable named DYALOGNETDIR101 and add %DYALOGNETDIR101%; to the path. Verify that DYALOGNETDIR101 points to the Dyalog "dotnet" folder and that %DYALOGNETDIR101% is listed in the PATH.

Version 11.0:

The version 11.0 installation adds a folder to the PATH without using an intermediate environment variable. Verify that the Dyalog "bin" folder is in your system PATH.

By default, the name of this folder is: C:\Program Files\Dyalog\Dyalog APL 11.0\bin\


Error message: Could not load .Net interface library bridge__.dll. (Error 0x0000007e)

For Version 11.0:

The default 11.0 path is:
C:\Program Files\Dyalog\Dyalog APL 11.0\bin\

If you installed to the default directory this path should be in your system path. Verify this by checking the PATH variable in Control Panel, System, Advanced, Environment Variables, System Variables.

Verify that the file bridge110.dll is in the above directory AND in the Global Assembly Cache (\windows\assembly).

For Version 10.1:

Please check PATH and DYALOGNETDIR101 variables in Control Panel, System, Advanced,Environment Variables, System Variables.

DYALOGNETDIR101 should be C:\Dyalog101\dotnet if c:\dyalog101 is where you installed the APL.

Path should have %DYALOGNETDIR101%; in it.

For example, your Path might look like this:

%DYALOGNETDIR101%;%DYALOGNETDIR%;.;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

Also, verify that the file bridge11.dll is in the above directory AND in the Global Assembly Cache.


Error message: File or assembly name bridgennn, or one of its dependencies, was not found.

Version 10.1

If you move a Dyalog-based assembly to a different machine than the one on which they were created, and the Dyalog development environment is not installed on that machine, there are 3 files that need to be installed on the target machine:

dyalognet.dll needs to be installed into the Global Assembly Cache (c:\windows\assembly)
bridge101.dll needs to be installed into the GAC and must be on the system PATH
dyalog101rt.dll needs to be installed on the system PATH (or dyalog101.dll if the assembly is not exported as a RUNTIME assembly)

You should also make sure you have the latest versions of these dlls, which can be obtained from the dyalog DSS website. www.dyalog.dk/dss/dss.htm

Version 11.0

As above, except that the digits at the end of file names should be 110 rather than 101.


Error IA8

This error occurs during the setup of the APL samples as IIS Virtual Directories. The setup program is trying to add them to the "Default Web Site" - on your computer, there is obviously no such item. You will have to set these up manually as described in Chapter 5 of the .NET Interface Guide.


How do I specify MAXWS for bound Executables?

You can specify the MAXWS parameter by putting

maxws=32000

in the command line field of the export dialog.


Why can't I set MAXWS to use all the memory in my 32-bit system?

Under Windows, each and every process is given an address space of 2GB. This is not the same as the amount of memory it will occupy, but you can think of it as the maximum amount of memory it could use. The distinction between address space and memory is an important one. Address space is mapped to memory (physical memory plus page space) by Windows. Whilst address space is contiguous (0 to 2GB), the memory it is mapped to is not.

The workspace associated with any Dyalog APL application has to be allocated a contiguous address space. The size of workspace that you can obtain is therefore ultimately restricted to the size of the largest area of contiguous address space in the process.

Windows processes typically consist of a main program plus any number of DLLs (and their data) that get loaded dynamically on demand. DLLs do not necessarily get loaded neatly into a process at progressively incrementing addresses, instead they get loaded in a way that tends to fragment the address space into a series of chunks. Fragmentation of the address space will limit the maximum workspace available.

Note that a Dyalog APL mapped file also requires contiguous address space, and the size of file you can map is limited to the maximum contiguous area of address space that is currently unallocated within the process.

A dyalog.exe or dyalogrt.exe process is entirely controlled by Dyalog APL. When the process starts, it reserves an amount of contiguous address space for the workspace which is defined by the MAXWS parameter. If there is insufficient contiguous address space available in the process. APL will issue an appropriate error message and terminate. In practice, fragmentation of the address space by Windows DLLs reduces the maximum workspace available to Dyalog APL to around 1.6GB.

To get a larger contiguous address space for a larger MAXWS, you can use the following tools:

http://www.sysinternals.com/Utilities/ListDlls.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp

Some hints on rebasing dlls:

Make a safe backup copy of the dll first.

You cannot rebase a dll while it is in use--for example, close dyalog.exe if you wish to rebase dyares32.dll.

Various sources seem to indicate that the "best" range to rebase DLLs is 0x60000000 - 0x68000000.

If the badly placed dll is a system or device dll, you may need to do this:

Start Windows in Safe Mode with Command Prompt Enter commands:

cd \tmp
copy c:\windows\system32\xpsp2res.dll c:\tmp
rebase -b 0x67000000 xpsp2res.dll
move c:\windows\system32\xpsp2res.dll c:\
copy xpsp2res.dll c:\windows\system32


Restart Windows.


Vista Compatibility

Dyalog APL Version 11.0.2 is compatible with Windows Vista. There are a handful of know issues with running Dyalog under Windows Vista:

Installation
If you are running User Access Control, your user will need to be a Power User or Administrator in order to install Dyalog (see http://msdn2.microsoft.com/en-us/library/aa480152.aspx#appcomp_topic4 for details.

APL Font
Windows Vista fails to display some of the APL symbols if you use the standard fonts shipped with Dyalog. The font Dyalog Symbol can be used instead. This font looks best with ClearType enabled. We are looking at improving the display of the font at small sizes.

Help Files
Windows Vista does not support the 32-bit .HLP file format used for Dyalog on-line help files. Patched version 11.0 systems dated March 20th 2007 or later will use help files in Compiled HTML format (.CHM), if these are present in the Help folder under the main Dyalog program folder (the same location as the .HLP files). Click on the following link to download the CHM Help Files.

Note that - because they can contain or link to executable content - CHM files are viewed as a security risk - especially after recent patches to Vista. Accessing them from remote locations, or even after downloading them - can be difficult. We know of two Microsoft Knowledgebase issues which discuss problems:

CHM files on the intranet or internet cannot be opened (fix requires a registry change):

http://support.microsoft.com/kb/896054

Downloaded CHM files cannot be opened (solution is to right-click the CHM file, and then click properties, Click Unblock):

http://support.microsoft.com/kb/902225/


How do I Install a v11.0 ASP.NET Application on a "Clean Machine"?

1) Use IIS to create a new Application, e.g. “MyApp11” in folder “c:\myapp11”
2) Incorporate the following content into the file c:\myapp11\web.config


<configuration>
  <system.web>
    <!--  DYNAMIC DEBUG COMPILATION
          Set debug="true" to enable debugging and bind to dyalog110.dll.
          Otherwise, setting this value to false will bind to dyalog110rt.dll which will prohibit debugging.
    -->
    <compilation debug="false">
	<compilers>
		<compiler language="dyalog" extension=".dyalog"
                	type="Dyalog.Compiler.DyalogCodeProvider,dyalogprovider,
                	Version=11.0.1.0,Culture=neutral,PublicKeyToken=eb5ebc232de94dcf"/>
		<compiler language="dyalog" extension=".dws"
                	type="Dyalog.Compiler.DyalogCodeProvider,dyalogprovider,
                	Version=11.0.1.0,Culture=neutral,PublicKeyToken=eb5ebc232de94dcf"/>
	</compilers>
    </compilation>
  </system.web>
</configuration>

3) Copy the files bridge110.dll, dyalognet.dll and dyalogprovider.dll to c:\myapp11\bin
4) EITHER
a. Copy the files dyalog 110rt.dll and dyalogc.exe to c:\myapp11\bin
b. Add c:\myapp11\bin to the system PATH environment variable.
5) OR
a. Make a directory c:\dyalog110 and copy the files bridge11.dll, dyalognet.dll dyalog101rt.dll , and dyalogc.exe to c:\dyalog110
b. Add c:\dyalog110 to the system PATH.


How do I Install a v10.1 ASP.NET Application on a "Clean Machine"?

1) Use IIS to create a new Application, e.g. “MyApp” in folder “c:\myapp”
2) Incorporate the following content into the file c:\myapp\web.config


<configuration>
  <system.web>
    <!--  DYNAMIC DEBUG COMPILATION
          Set debug="true" to enable debugging and bind to dyalog101.dll.
          Otherwise, setting this value to false will bind to dyalog101rt.dll which will prohibit debugging.
    -->
    <compilation debug="false">
	<compilers>
		<compiler language="apl" extension=".apl" 
                	type="Dyalog.Compiler.APLCodeProvider,aplprovider,
			Version=0.0.0.0,Culture=neutral,PublicKeyToken=eb5ebc232de94dcf"/>
		<compiler language="apl" extension=".dws" 
                 	type="Dyalog.Compiler.APLCodeProvider,aplprovider,
			Version=0.0.0.0,Culture=neutral,PublicKeyToken=eb5ebc232de94dcf"/>
	</compilers>
    </compilation>
  </system.web>
</configuration>

3) Copy the files bridge11.dll, dyalognet.dll and aplprovider.dll to c:\myapp\bin
4) EITHER
a. Copy the files dyalog 101rt.dll and aplc.exe to c:\myapp\bin
b. Add c:\myapp\bin to the system PATH environment variable.
5) OR
a. Make a directory c:\dyalog101 and copy the files bridge11.dll, dyalognet.dll dyalog101rt.dll , and aplc.exe to c:\dyalog101
b. Add c:\dyalog101 to the system PATH.


How do I control which version is used to open a .DWS file?

When Dyalog is installed the installer associates the the most recently installed Dyalog development interpreter with a number of file extensions. Those extensions are ".dws" ".dyalog" and ".dyappp". If you wish to use a different program (for example, and older version of Dyalog) to open these files from the Windows explorer then you will need to modify the registry.

For example, for the .dws file extension :-

1) Start regedit
2) Navigate to HKEY_CLASSES_ROOT\dwsfile\shell
3) Edit the values of the "Open\command" and "Open (do not start)\command" keys.

See the following page which illustrates the registry location.



For the ".dyalog" extension edit the section HKEY_CLASSES_ROOT\dyalogfile\shell, and for the ".dyapp" extension, HKEY_CLASSES_ROOT\dyappfile\shell