Under most circumstances, you will want to install ABCpdf .NET
using the standard installer and register it using the PDFSettings
control panel.
Occasionally, you may wish to install ABCpdf manually. To do
this, you will need the files listed below as obtained from the
ABCpdf programs folder (look in %PROGRAMFILES%).
File Name
|
Notes
|
ABCpdf.NET7.dll |
The Assembly used by .NET 7.0.
The MSI installer places this Assembly at the following
location:
%ProgramFiles%\WebSupergoo\ABCpdf12 .NET\Common\
However, typically you will be using the DLL as provided by the
ABCpdf NuGet package.
|
ABCpdf.NET6.dll |
The Assembly used by .NET 6.0.
The MSI installer places this Assembly at the following
location:
%ProgramFiles%\WebSupergoo\ABCpdf12 .NET\Common\
However, typically you will be using the DLL as provided by the
ABCpdf NuGet package.
|
ABCpdf.NET5.dll |
The Assembly used by .NET 5.0.
The MSI installer places this Assembly at the following
location:
%ProgramFiles%\WebSupergoo\ABCpdf12 .NET\Common\
However, typically you will be using the DLL as provided by the
ABCpdf NuGet package.
|
ABCpdf.dll |
The Assembly used by .NET 4.0.
The MSI installer places this Assembly in the GAC to allow
global access from any .NET application. It installs a second
reference copy at the following location:
%ProgramFiles%\WebSupergoo\ABCpdf12 .NET\Common\
However, if you are installing manually, you can just place this
file in the bin directory of your application.
|
ABCpdfCore.dll |
The Assembly used by .NET Core 3.1.
The MSI installer places this Assembly at the following
location:
%ProgramFiles%\WebSupergoo\ABCpdf12 .NET\Common\
However, typically you will be using the DLL as provided by the
ABCpdf NuGet package.
|
ABCpdf12-32.dll
ABCpdf12-64.dll |
The ABCpdf core engine.
There is a 32-bit and a 64-bit version of this DLL. Having both
installed is the safest and simplest way to deploy.
This DLL contains the core engine. It incorporates our
proprietary Direct to PDF technology and is designed for high
performance PDF manipulation in a multithreaded environment. This
DLL is placed into the System32 directory typically at:
%SystemRoot%\System32\
However, if you are installing manually, you can just place this
file in the bin directory of your application.
32 vs 64. Do I need the 32-bit DLLs or the 64-bit ones or
both?
If your project targets x86 then you will only ever need the
32-bit DLLs (these will execute under WOW64 on a 64-bit machine).
If it targets x64 then you will only ever need the 64-bit DLLs.
If your project targets AnyCPU then then you need the 32-bit
DLLs on a 32-bit version of Windows and the 64-bit ones on a 64-bit
version.
However it does not hurt to have all the DLLs installed. Only
the ones which are needed will be used.
|
|
3DGlue12-32.dll
3DGlue12-64.dll |
This is an optional component required for use of the PDF 3D
rendering.
There is a 32-bit and a 64-bit version of this DLL. Having both
installed is the safest and simplest way to deploy.
This DLL is normally located in the same directory as the core
engine.
|
ChakraCore32.dll
ChakraCore64.dll |
This is an optional component required for form JavaScript
calculations.
There is a 32-bit and a 64-bit version of this DLL. Having both
installed is the safest and simplest way to deploy.
If this component is not installed then field JavaScript
calculations will not function. The effect will be the same as
having XForm.UseFieldScript
set to false.
This DLL is normally located in the same directory as the core
engine.
|
PrintHook32.dll
PrintHook64.dll |
This is an optional component required for use of the XpsAny
ReadModule.
It is unlikely that you will want to use this, as the
functionality of the XpsAny module has been largely superceded by
other modules.
The component intercepts the Microsoft XPS Document Writer and
enables ABCpdf to import an extended range of file types via
XPS.
There is a 32-bit and a 64-bit version of this DLL. Having both
installed is the safest and simplest way to deploy.
This DLL is normally located in the same directory as the core
engine.
|
ABCChrome65 (directory) |
This is an optional component required for use of the ABCChrome HTML
engine prior to ABCpdf version 12.
This folder should be placed in the bin directory (next to
ABCpdf.dll).
|
ABCChrome86 (directory) |
These are optional components for use of the ABCChrome HTML
engine from version 12.
This folder should be placed in the bin directory (next to
ABCpdf.dll).
Only ABCChrome86 is required for the default ABCChrome
engine.
|
ABCGeckoWP.exe,
XULRunner38_0 (directory) |
This is an optional component required for use of the Gecko HTML
engine.
This EXE is the interface ABCpdf uses to access the Gecko HTML
engine. However, it is not the engine itself. The engine is held in
the XULRunner38_0 folder, which must be located in the same
directory as ABCGeckoWP.exe.
You should generally put these items in the bin directory (next
to ABCpdf.dll). ABCpdf uses a LoadLibrary type search to find the
EXE, so it can be put in other places, but taking advantage of this
may result in an installation which is confusing to other
people.
Be aware that on x64 Windows, if you put ABCGeckoWP.exe in
%SystemRoot%\System32, File System Redirection will prevent it from
finding the XULRunner38_0 folder. For this type of deployment you
would need to use %SystemRoot%\SysWOW64 instead.
|
TaskGardener.exe |
This is an optional component required for out-of-process
execution in restricted permission environments.
The Gecko HTML
engine runs in separate worker processes. In a restricted
environment, such as IIS, it is not possible to specify the user
account to directly start a process. If your IIS application
specifies the user in Doc.HtmlOptions.ProcessOptions.UserName,
you will need to install this EXE as a Windows Service so that it
starts processes for ABCpdf.
Run it with -install to install it as a Windows Service or with
-uninstall to uninstall it.
|
ABCWebKit (directory) |
This is an optional component required for use of the ABCWebKit HTML
engine.
This folder should be placed in the bin directory (next to
ABCpdf.dll). From version 2.2
|
If you are deploying manually to a restricted permission
environment such as IIS and also you are using the MSHtml engine
for converting HTML content, then you may need to check the
registry for certain structures. The registry key
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows
NT\CurrentVersion\Devices should contain printer entries. The
Microsoft XPS Document Writer that comes with Windows suffices to
satisfy this requirement. If there are no entries in this key, you
can copy them from HKEY_CURRENT_USER\Software\Microsoft\Windows
NT\CurrentVersion\Devices. Absence of entries in this registry key
may result in errors from the MSHtml engine when using ABCpdf in
IIS.
Background. Why XULRunner?
Well, XUL (pronounced zool) is a kind of enhanced XHTML designed
for cross platform user interface development. The name XUL is both
an acronym and also a reference to the scene in Ghostbusters in
which an ancient god called Zuul possesses Dana and tells Dr
Venkman,
"There is no Dana, only Zuul!"
Since XUL incorporates everything needed for an application in a
completely self-contained manner, the developers adopted the
catchphrase,
"There is no data, only XUL."
Other references to the Ghostbusters movie are scattered
throughout the development of Mozilla, Gecko and Firefox.
|
Most calls to ABCpdf will result in a trial license being
installed if it is found that no license has yet been installed. At
minimum, all that is required is to query the value of the XSettings.LicenseDescription
property. Write access to the registry is required for a trial to
be inserted.
using WebSupergoo.ABCpdf12;
MessageBox.Show("New License: " + XSettings.LicenseDescription);
Imports WebSupergoo.ABCpdf12
MessageBox.Show("New License: " + XSettings.LicenseDescription)
You can use a full license key as provided to you when you
purchase, or you can use a trial license key copied from the
PDFSettings application. To enter a license key, call XSettings.InstallLicense
or at application startup before any ABCpdf objects have been
created. If you have purchased a Redistribution license, you may
prefer to call XSettings.InstallRedistributionLicense.
In both cases the license will remain available to the process
until it unloads.
using WebSupergoo.ABCpdf12;
// here we use a trial license key as copied from the PDFSettings application
if (XSettings.InstallLicense("cd9b5c07db69df2bf57c0a04d9bca58b10c44889c9fb197984e592f49addfce5ec5fe85d7b9205bc"))
MessageBox.Show("License Installed Successfully: " + XSettings.LicenseDescription);
else
MessageBox.Show("License Installation Failed");
Imports WebSupergoo.ABCpdf12
' here we use a trial license key as copied from the PDFSettings application
If XSettings.InstallLicense("cd9b5c07db69df2bf57c0a04d9bca58b10c44889c9fb197984e592f49addfce5ec5fe85d7b9205bc") Then
MessageBox.Show("License Installed Successfully: " + XSettings.LicenseDescription)
Else
MessageBox.Show("License Installation Failed")
End If
Shared Hosts. Most installations of ABCpdf .NET on shared
servers are seamless. However, you need to be aware that you are a
guest on the server and your host may have locked down permissions
in ways which will make your life difficult. If this occurs, there
is typically little that either you or we can do about it.
This is why we recommend deployment on a dedicated server.
Dedicated servers are cheaper than you might think, and the level
of control they allow is only one of the very significant
advantages they afford. It is one of the best decisions you can
make.
If you are intending to install on a shared server, the
essential thing to do is to deploy early and discover any issues
before they become major problems.
|
|
|
|