Forexample if you select the Visual Studio "Create Web Site" option and then select an "
ASP.NET Web Forms Site" you will get a web site without a project file. NuGet requires a project file for certain types of installations so it will leave some DLLs out. However if you instead select "Create Project" and select an "
ASP.NET Web Application" then this will work fine.
At minimum you only need either ABCpdf.dll or ABCpdf.NET5.dll (for .NET 4 and .NET 5 respectively) and either ABCpdf13-32.dll or ABCpdf13-64.dll (for x86 and x64 respectively). If you are not sure then just copy all of them to your bin directory.
The extra DLLs and files which come with ABCpdf provide extra functionality like HTML import, 3D rendering and AcroForm JavaScript. They are not required for all deployments but we copy them to the bin directory as standard in case you need them.
Most notably, if you Xcopy deploy to another machine, the license is not copied. So if you push your bin directory up to a machine in the cloud, you need to ensure that it gets a copy of your license.
Azure is also a rapidly moving target. What is current and default now, may not be in the future. With a growth of almost 100% every year, you have to expect a certain amount of change and perhaps even some rough edges.
ABCpdf will run on the default Azure instances. However the simpler default Azure instances do not have the features required for functionality like HTML import. For those you need a slightly different model. See our Azure deployment guide for details.
I've been using ABCPdf for a while. I originally installed it via the installer and plugged the license in during the installation. But now I'm adding the dll via Nuget so that I can build my solution in the cloud using MSBuild. And now I get the following love letter...
I added this line in on application start (although my usage of ABCPdf is in a different project) and I get the same error. Also, my license key doesn't look like this neat, single line of numbers and letters. It was supplied across multiple lines and looks base64 encoded.
Occasionally, you may wish to install ABCpdf manually. To dothis, you will need the files listed below as obtained from theABCpdf programs folder (look in %PROGRAMFILES%). There aredifferent files for Linux deployment which you will find in theLinux subdirectory.
This EXE is the interface ABCpdf uses to access the Gecko HTMLengine. However, it is not the engine itself. The engine is held inthe XULRunner38_0 folder, which must be located in the samedirectory as ABCGeckoWP.exe.
You should generally put these items in the bin directory (nextto ABCpdf.dll). ABCpdf uses a LoadLibrary type search to find theEXE, so it can be put in other places, but taking advantage of thismay result in an installation which is confusing to otherpeople.
Be aware that on x64 Windows, if you put ABCGeckoWP.exe in%SystemRoot%\System32, File System Redirection will prevent it fromfinding the XULRunner38_0 folder. For this type of deployment youwould need to use %SystemRoot%\SysWOW64 instead.
The Gecko HTMLengine runs in separate worker processes. In a restrictedenvironment, such as IIS, it is not possible to specify the useraccount to directly start a process. If your IIS applicationspecifies the user in Doc.HtmlOptions.ProcessOptions.UserName,you will need to install this EXE as a Windows Service so that itstarts processes for ABCpdf.
If you are deploying manually to a restricted permissionenvironment such as IIS and also you are using the MSHtml enginefor converting HTML content, then you may need to check theregistry for certain structures. The registry keyHKEY_USERS\.DEFAULT\Software\Microsoft\WindowsNT\CurrentVersion\Devices should contain printer entries. TheMicrosoft XPS Document Writer that comes with Windows suffices tosatisfy this requirement. If there are no entries in this key, youcan copy them from HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Devices. Absence of entries in this registry keymay result in errors from the MSHtml engine when using ABCpdf inIIS.
Well, XUL (pronounced zool) is a kind of enhanced XHTML designedfor cross platform user interface development. The name XUL is bothan acronym and also a reference to the scene in Ghostbusters inwhich an ancient god called Zuul possesses Dana and tells DrVenkman,
Most calls to ABCpdf will result in a trial license beinginstalled if it is found that no license has yet been installed. Atminimum, all that is required is to query the value of the XSettings.LicenseDescriptionproperty. Write access to the registry is required for a trial tobe inserted.
You can use a full license key as provided to you when youpurchase, or you can use a trial license key copied from thePDFSettings application. To enter a license key, call XSettings.InstallLicenseor at application startup before any ABCpdf objects have beencreated. If you have purchased a Redistribution license, you mayprefer to call
XSettings.InstallRedistributionLicense.In both cases the license will remain available to the processuntil it unloads.
Shared Hosts. Most installations of ABCpdf .NET on sharedservers are seamless. However, you need to be aware that you are aguest on the server and your host may have locked down permissionsin ways which will make your life difficult. If this occurs, thereis 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 levelof control they allow is only one of the very significantadvantages they afford. It is one of the best decisions you canmake.
I have a project in visual studio written in C# that uses ABCpdf to create a PDF page count. I set the install to be instanced as the project is deployed on a server and the project is run without admin rights as our IT department does not want to have a GMSA with admin privs to run it (it runs as a nightly windows task schedule). My issue is the application fails when it tries to generate the PDF due to access denied when installing the license. If I run the application as administrator on the server it runs fine, so it's definitely something to do with no admin rights when installing the license (or other aspects perhaps to run).
Does anyone know how to get this working without admin rights, or do you know the specific task or registry item it modifies so I can give the GMSA access just to that without full privs? Any help would be awesome. Thanks in advance!
You can just add a reference to ABCpdf.dll. ABCpdf.dll will need ABCpdf-32.dll in the same folder, if your app is for x86, and it will need ABCpdf-64.dll if your app is for x64.Some of the more "exotic" functionality may need other dll's as well.
There are differences in the dependencies between versions. For example if you're using version 7, you'll also need the following DLL's in your bin directory (but they are not .NET DLL's so you can't add a reference to them): -
I don't know what the dependencies are for v9 but it's worth finding out. To be honest you're probably better off downloading the installer anyway, as you'll need it to enter the license key. The license isn't cheap but it's a pretty good product. You might also want to have a look at iTextSharp.
I just downloaded the newest websupergoo, ran the exe, remembered where the files were installed, and then added the new ABCpdf reference from the new files. The only other thing I had to do was to rename the AddHtml() method to AddHTML(). Compiled and ran just fine.
Use this method to install a license. Call this method atapplication startup before any ABCpdf objects have been created.You only need to call this method once though calling it additionaltimes will not cause problems.
It seems that there are many users who have difficulty uninstalling programs like ABCpdf from their systems. Some experience issues during uninstallation, whereas other encounter problems after the program is removed.
I have just installed v9.3.1 from NuGet. After that I builded the solution. But the site wouldn't run because the Owin.dll and the ABCpdf9-64.dll were missing in the bin folder. After manually dropping the two dll's into the bin folder and building the solution was up running. Are there something wrong in the v9.3.1 NuGet package? Or what can have gone wrong?
In VS I went into Tools - NuGet Package Manager. From there (The Browse tab) I choose "Dynamicweb.Admin", selected my project to the right, selected Version "Latest stable 9.3.1", Dependency behavior=Lowest, File conflict action=Overwrite all. Then clicked "Install".
In order to try a completly clean installation I have now followed the instructions on the doc website for installing a solution locally. But I don't see the logic in first creating a VS solution and installing the application using NuGet. And after that setting up an IIS website where the root of this website is an Application(9.3.1) folder that I have to download manually. In that way this website does not run on the code that I would make in my Visual Studio solution created previously (unless I publish to the IIS website of course). I would like my Visual Studio solution to be the root of my website. But if I set that up in the IIS then I get the error in first screenshot. After moving the configSections right beneath the configuration root element in web.config I get the error in screenshot number two (Owin.dll is missing). So now I end up with the same problem I had initially. How can I set up my Visual Studio solution so that it will work with the Dynamicweb application?
Problem number two: when the root of my Visual Studio solution is the root folder for my IIS website then I have to manually copy the Admin folder from the Application(9.3.1) folder because the Admin folder is not part of any NuGet packages. Why isn't it?
Downloading the zip-file is not part of the steps you linked to - the example simply had a visual studio project called "Application(9.3.1)". If you point your IIS towards root of your project, things should work - provided that the project builds correctly and that the package installed in the first place.
3a8082e126