Copyright © 2003-2027 MultiMedia Soft

Files to be included with your application

Previous pageReturn to chapter overviewNext page

 

 

Important note about installed version

 

This section of the documentation applies to the full purchased version only: the trial version of the component comes with an internal protection schema against fraudulent uses which will reset properties of 3D buttons and will turn them into black or gray rectangles when the component is redistributed outside of the development machine where the trial version was originally installed through the provided setup program.

 

 

The component's assembly that you need to redistribute with your application depend upon the target .NET platform.

 

Redistributing assemblies for .NET Framework from version 2 to version 4

Redistributing assemblies for .NET Core 3.1, .NET 5 and higher versions

How to create a "ClickOnce" setup containing our component using Visual Studio .NET

 

 

Redistributing assemblies for .NET Framework from version 2 to version 4

 

•for .NET framework 2.0, 3.0 or 3.5 with reference to Ctl3DMagic used inside the project (*)

- Ctl3DMagic.dll

 

•for .NET framework 4.0 or higher with reference to Ctl3DMagicF4 used inside the project (*)

- Ctl3DMagicF4.dll

 

All of the mentioned assemblies work as wrappers for the multimedia engine whose binary file must be redistributed as well:

 

•If compiling for "Any CPU"

  - the x86 version of the multimedia engine BTN3DMMS.dll

  - the x64 version of the multimedia engine BTN3DMMS64.dll

 

•If compiling specifically for x86

  - the x86 version of the multimedia engine BTN3DMMS.dll

 

•If compiling specifically for x64

  - the x64 version of the multimedia engine BTN3DMMS64.dll

 

You can find redistributable files mentioned above inside the folder in which you installed 3D Control Magic for .NET (default \Program Files\MultiMedia Soft\3D Control Magic for .NET\Redist).

 

 

Important note about the folder chosen for installing our files

 

In order to avoid the "DLL Hell" problem, it's strongly recommended that you install the mentioned files into the same folder in which you will install the EXE of your container application on the target system and not inside the Windows\System32 or Windows\SysWOW64 folders.

 

 

 

 

Redistributing assemblies for .NET Core 3.1, .NET 5 and higher versions

 

 

Important update regarding the assembly naming convention for Ctl3dMagic components for users of versions prior to 3.5

 

As part of our commitment to improving performance and streamlining long-term maintenance, starting from version 3.5 we are updating the naming convention of our .NET modern assemblies (for .NET Core 3.1, .NET 5 and higher versions).

Previously, each version of our component carried a specific suffix linked to the target framework (e.g., Ctl3dMagicCore3.dll, Ctl3dMagicF5.dll, Ctl3dMagicF6.dll). To eliminate version fragmentation and adopt Microsoft's best practices, we are consolidating all modern .NET versions (from .NET Core 3.1 up to .NET 10) into a single, unified file name: Ctl3dMagicNet.dll.

How this affects you and your backward compatibility:
We understand that maintaining backward compatibility is critical for your existing projects. We want to reassure you that no code changes or logic rewrites are required. Because modern .NET runtimes feature excellent forward compatibility, the new Ctl3dMagicNet.dll remains fully compatible with your older environments.

If you added the reference to the assembly by adding the component's NuGet package through the "NuGet Package Manager", you simply need to update the package to its latest available version installed through our setup program.

If you manually added the previous version of the assembly as a reference to your project, without using the NuGet package, in order to transition your existing project to the new release without losing compatibility, you will only need to perform a brief, one-time manual adjustment:

1.Open your project in Visual Studio.
2.Be sure to close all of the forms that may contain our component.
3.Under the References folder, right-click and Remove the legacy reference (e.g., Ctl3dMagicCore3.dll).
4.Right-click the References folder and select the "Manage NuGet Packages..." menu item then follow the procedure described inside the tutorial "Adding the component to a Windows Forms project (targeting .NET 5 and higher versions or .NET Core 3.1)".
5.Perform a Rebuild on your solution.

The benefit for your future updates:
By making this one-time switch to the unified naming convention, you will never have to break or update your references again. Future updates of our component will seamlessly overwrite the library, allowing your projects to upgrade smoothly via a simple rebuild.

 

 

From .NET Core 3.1 to .NET 10, assemblies are added to the solution or the container application through NuGet packages and use a single file name without framework-specific variants: Ctl3DMagicNet.dll

The Ctl3DMagicNet.dll assembly works as a wrapper for the button engine, a native binary file that must be redistributed as well:

 

When building the container application, the .NET SDK automatically places native binaries in a structured "runtimes" folder, located under the folder containing the .exe of the just built container application:

 

•If compiling for "Any CPU" or for "x64" the native button engine is BTN3DMMS64.dll and its folder structure is:

 runtimes\win-x64\native\Btn3dmms64.dll

 

•If compiling for "x86" the native button engine is BTN3DMMS.dll and its folder structure is:

 runtimes\win-x86\native\Btn3dmms.dll

 

Tip: It's recommended to preserve the "runtimes" folder structure during distribution of your application to ensure the native engine loads correctly.

 

 

 

How to create a "ClickOnce" setup containing our component using Visual Studio .NET

 

•Inside the "Solution Explorer" open "References"
•Locate and select the reference to Ctl3dMagic
•Inside the "Properties" window locate the "Copy Local" property and set it to "True"

 

•Inside the "Solution Explorer" right-click the project name
•From the context menu select "Add\Existing Item..."
•Inside the "Objects of type" combobox select "Executable files"
•Locate the directory where Btn3dmms.dll and Btn3dmms64.dll are installed (by default should be under "\Program Files\MultiMedia Soft\3D Control Magic for .NET\Redist")
•Select Btn3dmms.dll and Btn3dmms64.dll and press the "Add" button
•for both of them change the "Copy to Output Directory" property to "Copy always"
•Rebuild the ClickOnce package

 

 

(*) Projects originally developed with versions of the components older than 3.3 always use Ctl3DMagic reference: if you want to develop an application that can run directly into a Windows system where versions 2.0, 3.0 or 3.5 are not installed (such as clean installations of Windows 8 and Windows 10), you should set your applications to use ".NET framework 4" (or higher) as target framework and you should replace the original reference to Ctl3DMagic with the newest Ctl3DMagicF4.

 

The tutorial How to port projects developed with versions older than 3.3 for compilation with .NET framework 4 explains how to perform the porting of your application's project to version 4 of the .NET framework.

The tutorial How to port projects developed with versions older than 3.3 for compilation with .NET 5 and higher versions explains how to perform the porting of your application's project to newer versions of .NET