VDF Components Redistribution !
Application Redistribution - for VectorDraw Dev. Framework version 12.x
All our managed DLLs now are in AnyCPU build and just some unmanaged DLLs are x86 and x64 and are loaded dynamically. Also now we provide 2 different MergeModules that contain our dlls and can be used in your setup projects for COM/ActiveX applications. The Icons (*.ico) where removed from these merge modules as the icons are now added to the dll's resources. Please read below the new procedures you should follow:
Using managed .NET VDF components in managed .NET
projects
When using the following Components inside a Visual
Studio
2010/2013/2015/2017/2019/2022/2026 managed
application:
VectorDraw.Professional.Components.VdDocumentComponet
exported from VectorDraw.Professional.dll
VectorDraw.Professional.Control.VectorDrawBaseControl
exported from VDrawBaseControl.dll
vdScrollableControl exported from
vdScrollableControl.dll
vdControls.vdFramedControl exported from
vdFramedControl.dll
vdPropertyGrid exported from vdPropertyGrid.dll
vdCommandLine exported from vdCommandLine.dll
vdRay exported from vdRay.dll
vdIFC exported from vdIFC.dll
1) Using the VDF .NET 4.8 and 6.0 NuGet packages Redistribution
If you use our NuGet packages for development then the redistribution is done easily from inside the Visual Studio project/solution if you choose the "Publish" option, where in the output folder all the VDF necessary files as your binaries also will be copied and created.
There are some changes for ClickOnce installation and the new VDF 12.x from the previous version 11.x. Some dlls are not "assembly" so they are not added by default in the output of Publish, so these must be added in the project manually.
So, at first download the vdAnyCPUSxS.zip from our website, unblock it and extract it in a folder in your dev. machine. It should be the same exact version as the VDF Nuget 4.x that you use. Lets assume that you extracted it in the folder c:\VDF12.0.1_SXS
Then in your project add the folders VDF_x64 and VDF_x86 and inside the later create a folder Microsoft.VC100.CRT. Add all the files that you have inside the c:\VDF12.0.1_SXS\VDF_x64, (the same for VDF_x86 & Microsoft.VC100.CRT folders) except** the vdxFilesx86.dll & vdxFilesx64.dll files in your project. Set them as "Content" and their "Copy to Output directory" property to "Copy Always" to all these files, like : image
open this image in a new browser windows to see it in detailYou can do the same for "CSDicts" (needed for geographic coordinate system (GCS) with DGN files, see article 70002681) and "Schemas" (needed for STEP file format, see article 70002511) folders if you need such file support.
** the files vdxFilesx86.dll & vdxFilesx64.dll will be added to the output by the nuget as all other VDF assemblies
Note, that if you are using version 12 NuGets you also need to create a .lic file on the post publish event so the license file will be distributed among with all the other neccessary files of your application.
<Target Name = "PostBuild" AfterTargets="PostBuildEvent"><br>
<Exec Command = ""$(VDRAWDEV)vdlic.exe" "$(TargetPath)"" /><br>
</Target ><br>
<Target Name="AddPayloadsFolder" AfterTargets="Publish"><br>
<Exec Command = ""$(VDRAWDEV)vdlic.exe" "$(PublishDir)$(targetfilename)"" /><br>
</Target ><br>
2) Distribute using Side by Side (SxS) single xcopy command
In the same folder as your application, extract all the items of vdAnyCPUSxS.zip you have downloaded from our site. Just make sure they are the same build number and date as the components used in your project. Do not forget to add the .vdlic file that is created by vdLic.exe application during build.
In the same folder add the VectorDraw Custom objects dll(s) (if you have some of them) and the Customized Dialog/Icons/Menu/Commands globalization files (if you have some of them) . Add the customized necessary vdres.txt, menu.txt, commands.txt, vdFormRes.dll or copy them in another folder, after setting the property SupportPath to the folder's full path, of the vdDocument object in your application's source code.
NOTE:You can use an application configuration file if you want to add VectorDraw components in a subfolder of the application folder. The Configuration file must be placed in the same folder as your application exe. For example, if the name of your application is MyApplication.exe then the name of the configuration file must have the name MyApplication.exe.config and if you want the sub folder to have the name Bin then the contents of this config file must look like this:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Bin"/>
</assemblyBinding>
</runtime>
</configuration>NOTE: The .NET 4.x or .NET Core 6.x and laterand theVisual C++ (2015-2022) "14" Runtime Libraries (X86 and x64) Redistributables is required to be installed in the distribution machine so you need to install them.
In 32bit (x86) machines only the x86 versions of VS C++ (2015-2022) "14" Runtime are needed.
Also glu32.dll and opengl32.dll are required to exist in the windows system folder
.DWG/.DGN File Support
If you need DWG/DGN support in your application, then you need to redistribute the FileConverters Full/Lite setup along with your setup, "as is" as provided by us, so the user reads and accepts the EULA of FileConverter. If you are member of the OpenDesign Alliance this is not necessary, just email us in order to provide you the extra information you need for redistributing OpenDesign's Teigha libraries with your setup.

