Jun 252010
If you are using the DYMO SDK from a .NET application you might run into a problem where the application throws an exception when trying to instantiate DymoAddin or DymoLabels objects. The error message is like this:
System.Runtime.InteropServices.COMException (0x80040154). Retrieving the COM class factory for component xxxx failed due to the following error: 80040154
To fix this try the following:
- make sure you have the latest DYMO Label v.8 installed. The latest version is always available from the download section on dymo.com. currently the latest version is 8.2.2.996
- if you are running on 64-bit Windows make sure you compile your application as 32-bit (switch TargetPlatform from default AnyCpu to x86). See this and this. If you can’t change the TargetPlatform, try the beta SDK that adds 64-bit support
- reimport interop references to SDK libraries. Remove Interop.Dymo.dll from the project settings; add reference to “DLS7 Compatibility COM Type Library 1.0” COM library; recompile your application.
Hi
I get the following error when I run my asp.net application on the ISS server ( No locally in VS2005)
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80070005.
Normally I have to grant rigths to access the Componets services (DCOM config), by I can not find any object with the id 09DAFAE2-8EB0-11D2-8E5D-00A02415E90F there.
Any yes I the newest version installed, and downloaded the dll fix, and they are all on the IIS server.
Mange greetings
Christian
Hi Christian,
What is the newest version do you have installed on the server? Is it 8.2.2.996? The guid is for Dymo.DymoAddIn object. One thing about using it from the IIS, currently DymoAddIn supports only Apartment threading model (STA), so IIS should be configured appropriately for that, see http://msdn.microsoft.com/en-us/library/e1f13641.aspx for more information. Alternatively, you could use DYMO Label Framework API that support both threading models, see http://developers.dymo.com/2010/05/25/8-2-3-sdk-beta-release/ for more information.
Regards,
Vladimir
Hi
Yes I know, but you need to set at access settings on the DOCM object 09DAFAE2-8EB0-11D2-8E5D-00A02415E90F, for the IUSR_XXXXXX, but I can not find this anywhere, so the IIS user can access and use the DYMO interop.
And yes we are using 8.2.2.996 + BETA version of the SDK, we are testing to change from Zebra to DYMO, so any quick soluiton would be great.
Thanks for your help so far.
What is the Windows version the IIS is running on? Is it 64-bit? If yes, then you have to install DLS 8.2.3.1026 (beta), because 64-bit support has been added only in this version. Another option is to configure IIS to host 32-bit processes. If Windows is 32-bit, then it is more likely installation issue. Could you try to uninstall DYMO Label and SDK and then install them again? If the error persist, could you send the installation log file? From Program FilesDYMODYMO LabelSupport run LWSupport utility and follow on screen steps to create the log file.
Thanks,
Vladimir
Hi
We are running 32 bit, IIS7, to where should I send the DLS8Support.zip
Cheers
Christian
Hi,
I am having the same issue, were you able to resolve it?
HI
No never got it to work, somehow I can not set the IUSER_XXXX/ASP_NET to have access rigths to run the Dymo interop application. :-(
I did this work around instead ( DYMO Client must be installed on the users PC )
What I do is to read a predefined XML .label file replace the my pre defined text with my new text and send the new label to the client.
Dim sr As StreamReader = File.OpenText(Server.MapPath(“~/itinventory/labels/”) + “pcstandard.label”)
Dim txtline As String = sr.ReadToEnd
sr.Close()
sr.Dispose()
Dim filename As String = Server.MapPath(labelstemp) + Me.PeDbCompanyEquipmentTag.Text + “.label”
If File.Exists(filename) Then
Try
File.Delete(filename)
Catch ex As Exception
SendEmailFunction(“[email protected]”, “[email protected]”, “”, “Error on owis.dss 20”, ex.Message, True)
End Try
End If
txtline = Replace(txtline, “PEDBCOMPANYEQUIPMENTTAG-DATA”, ValidForCode39(Me.PeDbCompanyEquipmentTag.Text))
If Me.PeDbWarratytyEnd.SelectedDate > DateSerial(1980, 1, 1) Then
txtline = Replace(txtline, “PeDbWarratytyEnddata”, Me.PeDbWarratytyEnd.SelectedDate.ToShortDateString)
Else
txtline = Replace(txtline, “PeDbWarratytyEnddata”, “”)
End If
Dim sw As StreamWriter = File.CreateText(filename)
sw.WriteLine(txtline)
sw.Flush()
sw.Close()
Response.ContentType = “text/plain”
Response.AddHeader(“Content-Disposition”, “attachment; filename=” + filename)
Response.TransmitFile(filename)
Response.End()
if you want to run it on the server side, you have to have IIS user an access to the printers as well. The easiest way to do that is to use impersonation. From our FAQ:
Q. I get access or privilege related errors when I run the ASP.NET sample. What can cause this?
The ASP.NET sample script is executing on the server side. You may have to set up the ASP page to execute under a specific user account that has access to the printers you wish to use.
To specify a user account for the ASP page, add this element into the web.config file:
See http://msdn.microsoft.com/en-us/library/aa292118%28VS.71%29.aspx for more information
Year, but this is not good enough, you don’t want to have a page where it is run as administrator on the web :-(
The way to do it correctly exp. for the Office interop if to set the access rigths for the interop. Arg arg
It does not have to be an administrator user. Regelar user account that possible to run DYMO Label software without problems.
Hi All,
I am having the same problem trying to create the DymoAddIn class from a Windows Service. I followed the instructions provided above for my 64bit dev box and got it to work last night. Today, the problem occurs again and following the steps did not fixed the problem. Any other suggestions will be greatly appreciated. I am starting to think that some security policy is blocking the creation of the DCOM class.
Regards,
Walter
Creating an instance of the COM component with CLSID
{09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed
due to the following error: 80040154.
Creating an instance of the COM component with CLSID
{09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed
due to the following error: 80040154.
vs 2008windows application…
X86 build application…
in registry the CLSIDcorrespondes to
C:Program FilesDYMODYMO Label SoftwareDLS8BackwardCompatibilityCOMLib.dll that is installed by the latest version of Dymo…
After installing the latest DLS 8 (which also installs the SDK libraries), open your SDK project, be sure to re-import all Interop references to SDK libraries. Remove Interop.Dymo.dll from the project settings and add a reference to ‘DLS7 Compatibility COM Type Library 1.0’ (a bit confusing that the name in the Add Reference dialog differs from DLS8BackwardCompatibilityCOMLib.dll) and then re-compile your application. Click on the links in this post for greater detail.
hi am getting the followin error in my windows application
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154.
it is build in x86 mode and com reference is added. this error generates at runtime..
any one Help me plz…
Please describe your setup: does it happen on development machine or on deploynment machine? Is your application ASP.NET?
it happen on the development machine. its not a web application its a windows based application. os is Xp. i have DYMO Label v.8 installed and also The ClSID is in registery and that points to the file DLS8BackwardCompatibilityCOMLib.dll.
Thanks Valdimir….
it happen on the development machine. its not a web application its a windows based application. os is Xp. i have DYMO Label v.8 installed and also The ClSID is in registery and that points to the file DLS8BackwardCompatibilityCOMLib.dll.
Thanks Valdimir
Hi
I hade the same problem because I had put the source code on a share that where not trusted from VS.
I copied the source file to “C:UsersccrDocumentsVisual Studio 2005ProjectsDymobeta” and compiled from there, then it worked.
Best
Christian
I am having a terrible time trying to get this to work. I have installed the latest label software and also the beta SDK. I have removed all references to any Dymo dlls and simply referenced the DLS7 Compatibility COM Type Library 1.0″ COM library (which appears confusingly as Interop.Dymo.dll. I then built my solution and ran it.
I got the following: “Retrieving the COM class factory for component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} failed due to the following error: 80040154”. I am using Windows 7 64 bit with IIS 7. I cannot change the target cpu of my project. It has taken me 4 days now and I am still nowhere near fixing this error.
Just a follow up on this: I’ve now given up trying to get this to work properly as I’m running out of development time and the combination of altering IIS settings, using different beta versions of SDKs and Label Software, Application Impersonation, Running IIS App pools in 32 bit etc is now getting a bit of a headache!
In the meantime I have used VMWare to create a 32 bit machine running SBS which has a service sitting on it listening for requests via a DB to print to the Dymo. This may be a temporary workaround for some of you while we wait for a decent development kit for 64 bit machines.
Open your SDK project, be sure to re-import all Interop references to SDK libraries. Remove Interop.Dymo.dll from the project settings and add a reference to ‘DLS7 Compatibility COM Type Library 1.0’ (the label for ‘DLS8BackwardCompatibilityCOMLib.dll’)and then re-compile your application.
Note: If running on 64-bit Windows, and using a version of DLS 8 which is less than v. 8.2.3, than the SDK is not 64-bit compatible. Make sure you compile your application as a 32-bit project (switch TargetPlatform from the default AnyCpu to x86), or better yet, update to our 64-bit compatible Framework SDK!
Unfortunately it is not possible to compile my app as 64 bit as I am using codesmith and nettiers. Could you please tell me simply what I need to do to print a label? I have uninstalled everything to do with Dymo and am pretty much at the stage of starting again. Am a bit confused with all the different versions out there now.
Hi I have installed the latest version of the beta SDK and DLS, removed all instances to Dymo, added a reference to DLS7 Compatibility COM Type Library 1.0. This is the only reference I have to anything related to Dymo. I recompile my project.
I use the following code to get a list of printers:
DymoAddIn _dai = new DymoAddInClass();
DymoLabels _dl = new DymoLabelsClass();
string PrtNames = _dai.GetDymoPrinters();
if (PrtNames != null)
{
// parse the result
int i = PrtNames.IndexOf(‘|’);
while (i >= 0)
{
LabelWriterCmb.Items.Add(PrtNames.Substring(0, i));
PrtNames = PrtNames.Remove(0, i + 1);
i = PrtNames.IndexOf(‘|’);
}
if (PrtNames.Length > 0)
{
LabelWriterCmb.Items.Add(PrtNames);
}
this.LabelWriterCmb.Items[0].Selected = true;
}
I publish this project (ASP.Net) to my windows Web Server 2008 (64 Bit) and run the page.
I get the following error:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154
I have now given up on the COM route and have decided to try the DYMO.Label.Framework .Net which is included in the latest Beta package.
I install this on my Windows 7 64-bit development machine and I can loop through printers with the following code:
foreach (IPrinter ipe in Framework.GetPrinters())
{
this.LabelWriterCmb.Items.Add(ipe.Name);
}
However, when I publish my application to my Windows 2008 Web Server 64 bit machine, no printers are picked up and there is no error given. The Web Server has identical software version installed and if I load the DLS GUI up it detects the installed printers on the web server and I am able to print to them.
The framework is a lot easier for me to use so I would like to go down this route but it looks once again like there are problems I cannot seem to find the route of.
Would be grateful for any help on this.
could you try running DbgView to grab debug messages? Also, even most of new API is written in .NET there are still two COM libraries (DYMOBarcode.dll and DYMOPrintingSupport.dll) and these libraries requires special handling when running from IIS. Either use impersonation or set DCOM permissions to these libraries. See these comments #1, #2, and #3
Hi Vladimir – I have used impersonation. It works perfectly on my Windows 7 debug machine but not on the Windows Web Server 2008 machine.
There are no error like before but the printer list is empty.
Hi there,
We have developed an application to print labels via the Dymo LabelWriter 400. We have deployed the application to multiple machines (which work). I have now deployed to another machine and am receiving the following error:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 800706ba.
We are using LabelSoftware 7.6, so are currently not using the latest SDK. Upgrading would mean huge changes to the existing application. Can someone assist me with this?
We are also having a similar problem with error 80040154. Our dev team works on a web site project in C#, ASP.Net and unfortunately the only configuration it can be built to is “Any CPU”.
We are using the DymoAddIn object. It works fine on our dev machine (Windows 7) but when rolled out to Windows Web Server 2008 (x64) we get the 80040154 error.
We have enabled impersonation and also configured the app to use Apartment threading model. The app pool is also configured to allow 32 bit applications.
Is there an official release on the horizon to iron out all of these bugs?
Thanks.
make sure you have the beta version 8.2.3.1026 installed on the server, it is the only version that supports 64-bit.
please run DbgView on the server to capture log messages from the sdk. you can e-mail the log to vbuzuev at dymo . com
Hello,
i developed an application in Vb with VB Express 2010 which allow to print labels on DYMO Label Writer 450 from a model. it works fine when i use the pc where i developped this application but when i try on another pc it doesn’t work and i’ve the following error: “La cration d’une instance du composant COM avec Le CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} à partir de IClassFactory a échoué en raison de l’eeruer suivante: 80040154″
i tried to delete reference in my project and add “DLS7 Compatibility COM Type Library 1.0″ COM library” and it still doesn’t work.
Could you help me please?
DymoAddIn.Open
DymoAddIn.Open2
Keeps failing upon deployment on client machine
Make sure DYMO Label software version 8.2.2.996 is installed
Hi,
I have used the SDK and the instructions above to install the DLL, and followed the examples in the sample code for VB.NET to print labels from a desktop application.
This has been working fine for debugging and running locally.
However, when publishing this on a server, I get the dreaded error 80040154!
I have tried installing SDK, Label software, and the BETA-file on the server, but nothing has worked.
Anybody please able to give any suggestions?
Thanks,
Rune Borgen
Cadnet Solutions
Hi Rune,
First, try to install (on the server) the latest DYMO Label version 8.3, it is available from here. If it does not help, could you please describe the configuration of the application? application type (desktop/service/ASP.NET/etc, app architecture 32-bit/64-bit/AnyCPU, installation type (ClickOnce/etc), Windows version, etc. What is the exact error message? are there any problem running DYMO Label software itself? if yes, collect log files using LWSupport utility located in Support subfolder of the DLS installation folder.
Hi Vladimir,
I have tried to install v8.3 of DYMO Label, but it hasn’t helped.
I am now getting a slightly different error:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to following error: 80004003
It is a desktop application, 32-bit, to be installed on Windows Server 2003.
The application is installed (I just copy the release files to the server in stead of ‘clickOnce’) and run from the server while the printer is plugged into the user’s laptop.
I hope you can help me with this.
Thanks,
Rune
Even though your software is installed on the server, it is running on the client. So, DYMO Label software should be installed on the client as well.
I having a similar problem… Everything is installed and running on the client XP SP2 workstation. Here are the specifics:
Can you please advise me as to the root cause of the execution exception that is thrown while attempting substantiate the DymoAddinClass:
My setup is as follows:
1.) Window XP SP2 workstation
2.) VS 2008 Web Developer Express
3.) Installed the Dymo label software version 8.3 (downloaded 1/21/11).
4.) Installed latest v.8 Software Developer’s Kit (downloaded 1/21/11).
5.) Setup the ASP.NET Sample C# application in VS 2008 from the SDK download.
5.) Project successfully compiles
6.) While debugging the _Default code behind class abends at line 15. The _Default class is attempting to substantiate DymoAddInClass . I receive the following error message:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154.
7.) The bin folder contains the following DLL:
Interop.Dymo.dll 12/17/2009 7:43 PM
Paul Dietz
could you run DebugView tool to collect some logs? Just run it, then start your app. Also, do you have a LabelWriter printer installed?
I have been stuck on this for a while now error: 80040154 & 80004003
My Setup:
1) Windows Vista 32bit
2) VS 2008 Professional
3) Installed the latest Dymo label software
4) Installed the latest SDK
5) Same issue as post 21 crashes at that line in the code for the c# example.
I run the DebugView tool and get: [6992] LoadCurrentLocation(): no location found in the Registry, got system location ‘US’
Did you re-import all Interop references to SDK libraries? Meaning…
Step 1: open your project in VS 2008 (the C# sample)
Step 2: Remove Interop.Dymo.dll from the project settings
Step 3: Add a reference to ‘DLS7 Compatibility COM Type Library 1.0’. You should see the ‘Add Reference’ dialog. Click on the COM tab and browse for the aforementioned library.
Step 4: Re-compile your application (the same C# sample)
Yep did those steps. Is it possible to get this error if you don’t have the printer hooked up to the machine I am compiling this on? Right now the client has the printer and I was just testing out the code in the SDK c# and asp.net example (same error for both).
I think I answered my own question. I just attached a DYMO printer from the control panel (not physically connected) and the code runs.
Yes, printer connection is necessary to complete the installation of DLS on the client machine.
I’m also experiencing the same issue and I’m a little confused as what to do in this case.
Here’s my setup:
Dev machine
1. Windows 7 Ultimate x64
2. Visual Studio 2010 Ultimate
3. Installed the latest DYMO Label software (v8.3.0.1242)
4. Installed the latest SDK (not the beta)
Testing environment
1. Windows Server 2008 R2 x64 (nuff said)
When I run my website within the VS environment it works fine! When I promote it to our testing environment, that’s when I get the error when trying to print a label. Also, being that it’s a website and not a web application, I can not change the target platform from Any CPU to x86.
After reading all posts from above, I’m a little confused with some of the responses.
In post #22’s reply, I see where it says to remove the Interop.Dymo.dll (which I’ve done) but when adding the reference to ‘DLS7 Compatibility COM Type Library 1.0’, I only see the following:
1. DLS SDK COM Type Library (DLSSDKCOMLibrary.dll)
2. DYMO Addin User Interface Assembly (DYMOAddinUI.tlb)
3. DYMO Label Framework (DYMO.Label.Framework.tlb)
4. DYMO Label Software v.8 SDK (DYMO.DLS.SDK.tlb)
5. DYMO Univeral Add-in 2.0 Type Library (DymoUniversalAddin.dll)
6. DYMO_SmartPaste (DYMO.SmartPaste.tlb)
7. DYMOBarcode 2.0 Type Library (DYMOBarcode.dll)
8. DYMOLabelFrameworkIEPlugin 1.0 Type Library (DYMOLabelFrameworkIEPlugin.dll)
9. DYMOPrintingSupport 1.0 Type Library (DYMOPrintingSupport.dll)
I don’t see the aforementioned library anywhere in the ‘Add Reference’ window.
Also there was another post where the DYMO label needs to be installed on the server also, is this true?
Thank you…
To use DLS SDK API import DLS SDK COM Type Library (DLSSDKCOMLibrary.dll).
DYMO Label software should be installed on a machine where you are calling SDK functions. If you are calling it on the server, then DYMO Label software should be installed on the server. Look at http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/ for more information.
.NET is not “enabled” by default on Windows Server 2008 R2. To enable:
• Click Start -> Control Panel
• In Programs group click on “Turn Windows features on or off
• Click on “Add Features”
• Check that “.NET Framework 3.5.1 Features” are installed. If not check and install.
Hey Vladimir,
Thanks for the for prompt reply! I’ve installed the latest DYMO Label software on the server hoping that would but now I’m getting a different error when trying to print:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80004003.
What am I missing?
Thanks…
did you enable .NET 3.5 SP1?
did you install/connect a DYMO printer to the server?
Hey Vladimir,
1. Yes .NET 3.5.1 was already enabled.
2. What’s the reason why I need to have a printer connected to the server? Also being that this server is virtual server, it’s going to be difficult to do so.
Thanks…
OK, please describe your configuration/architecture from printing point of view. what is your “scenario” according to http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/ ? Where is the printer connected, to the server or to the client machine? If it is connected to the client machine, why do you use the SDK on the server side?
My scenario is that the printer will be connected to the client machine. The main reason I’m using the SDK server side is because the label templates that are being used will located on the server rather than on the client machine. Hope that clears up a little to better understand what I’m doing…
Thanks…
In this case I would recommend using DYMO Label Framework JavaScript library. You can load a template from the server like this
function loadLabel()
{
// use jQuery API to load label
$.get("Address.label", function(labelXml)
{
label = dymo.label.framework.openLabelXml(labelXml);
}, "text");
}
In this case nothing should be installed on the server. On the client, where printer is connected, DYMO Label 8.3 has to be installed (you need drivers anyway).
More samples show how to use the library and to load a label template from the server are
http://developers.dymo.com/2010/06/17/dymo-label-framework-javascript-library-print-multiple-labels/
http://developers.dymo.com/2010/06/11/dymo-label-framework-javascript-library-samples-label-preview/
Hi Vladimir,
I installed version 8.3.0.1242 un Web Server 2008 32 bit,
I add as References DLS 7 Compatibility.. as COM.
I use IIS 7.0 and VS 2010 asp .net 4.0, when I write in my code:
DymoAddInClass _dymoAddin = new DymoAddInClass();
DymoLabelsClass _dymoLabel = new DymoLabelsClass();
It requires user and password: I use administrator pwd, I try this 2 times
then returns the same error:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80070005.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
I gave everyone complete to the folder, windows authentication.. where I wrong?????
You might need to grant permission to COM libraries to run from IIS. See this comment for the details.
Also, just to make sure that you are using the SDK as intended: please describe your configuration/architecture from printing point of view. what is your “scenario” according to http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/ ? Where is the printer connected, to the server or to the client machine? If it is connected to the client machine, why do you use the SDK on the server side?
I have a Dymo Printer installed on a Cliente and I have to develop an application in C# Asp .Net 4.0 to create label with a Bottom. I have IIS WEB SERVER 2008 32 bit. Is there a guide that I can follow for intallation? and an Example of code??
Seems like you have scenario #1, so you have to install DYMO Label on the client and nothing has to be installed on the server. To access SDK functionality, use DYMO Label JavaScript library. See following posts for details:
http://developers.dymo.com/2010/06/17/dymo-label-framework-javascript-library-print-multiple-labels/
http://developers.dymo.com/2010/06/11/dymo-label-framework-javascript-library-samples-label-preview/
http://developers.dymo.com/2010/06/02/dymo-label-framework-javascript-library-samples-print-a-label/
Hi all,
Unfortunately I’ve seen this page too many times, it seems to be the Dymo 80040154 headquarters. But today I fixed it!, and I have two things that may have done the trick:
1) It might be that the console is less mighty than a remote desktop session. I installed (and uninstalled, and reinstalled ad infinitum) the latest software using VNC on the console. The latest try was not to do that, but install it being logged on as an administrator
2) Actually “Register” the software. I you start the normal software to create a label (which always worked by the way), it starts with a nag screen. This time I actually did not press “yeah yeah, I may do that some time”. A hypothesis is that the API may want to show the same nag screen but is not allowed to for a wide range of reasons I can think of.
One of these did the big trick for me.
Oops, in option 1 I mean IN a remote desktop session of course.
I’m trying to set up a printer on my server (Scenario #2 as described here: http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/) but I am getting the following error: “Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80070005.” I have tried changing the COM permissions on all DYMO services (DYMO Pnp service, DYMOBarcode, DYMOLabelFrameworkIEPlugin, DYMOPrintingSupport, and DYMOUniversalAddin) and I’m still getting this error. I’m trying to use the sample provided in the “ASP.NET Sample” folder in the DYMO Label v.8 SDK installation folder as a starting point for development but this error is hindering any sort of prgress what-so-ever. Any suggestions would be great, and thank you very much in advance.
John
Make sure you have the latest DYMO Label installed, it is available from http://sites.dymo.com/Support/Pages/AllDriversUsers.aspx?Type=Drivers
The GUID is for DLSSDKCOMLibrary.dll, modify DCOM rights for this dll as well.
Ok, I did that, and went back to getting a 80040154 error, so I tried removing the Interop.Dymo.dll and added the DLS7 Compatibility COM Type Library 1.0 by way of the DLS SDK COM Type Library because I, like Eddie, did not see the DLS7… in the COM listing. once I completed that it went right back to the 80070005 error. Could there be something I’m missing?
John
Hi John,
Could you please send an e-mail to {sdkreply at newellco com} and describe all the steps you did. Please include all the GUIDs and error codes. Also, in case you use .NET, I would recommend using DYMO Label Framework API, it is easy to setup, use, and troubleshoot.
Hi,
How can I work with lwl files in DYMO.Labels.Framework?
When I try to open old format label I obtain error:
{“Unable to load label template”}
{“Data at the root level is invalid. Line 1, position 1.”}
How to convert automatically or how to open this type of labels?
Hi,
Did you get solution for this?
Hey Guys,
I am getting similar error ‘Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154’. Is there a fix to this issue?
This error is indicating that DLS hasn’t been installed. Please make sure that you have the latest DLS 8.5.1 installed.
The following URL checks your environment. Make sure that it doesn’t return an error.
http://labelwriter.com/software/dls/sdk/samples/js/CheckEnvironment/CheckEnvironment.html
I have installed DYMO several times, but yet when I go to that website it says that framework is not installed. How could this be possible? I just got done with a fresh install of dymo software.
The Label Printing and Web Deployment blog post describes what DYMO binaries have to be installed on which system. You’ll find the blog post here http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/
Hey Devs,
Did anyone came up wiht a soluton to deploy software using the dymo.lable.framework (c# , .net4.0 , vs2012 64bit) without installing Dymo Label Software on the target machine?
It would be nice to deliver the pritner drivers and the com components. nothing more.
Hi Tobias, at this point, it isn’t possible. DLS must be installed
Your tech support team said replying to a blog post was the only way to get developer/SDK support, so I apologize for hijacking the thread, but here goes.
I have two problems, first, second executions with the COM object fail to retrieve printers or to print, and second, after a reboot nothing works and I suspect related, my label file gives an error of “label type is not supported by any installed printer.”
So, the first problem:
I’m using PHP, same results with 5.4.9 and 5.6.6 and Dymo Label Software 8.5.1. Here’s the code:
$DymoAddIn = new COM("Dymo.DymoAddIn") or die("Unable to instantiate Dymo.DymoAddIn");
//echo "Loaded Dymo.DymoAddIn, version {$DymoAddIn->Version}\n";
$DymoLabels = new COM("Dymo.DymoLabels") or die("Unable to instantiate Dymo.DymoLabels");
//echo "Loaded Dymo.DymoLabels, version {$DymoLabels->Version}\n";
if(!$DymoAddIn->Open($LblPath))
{
echo 'DymoPrint: Loading failed.';
return;
}
$DFields=$DymoLabels->GetObjectNames(false);
$DFields=explode('|',$DFields);
foreach($DFields as $DKey=>$DVal)
{
if(stripos($DVal,'UPCA')!==false)
{
if(!$DymoLabels->SetField("UPCA",substr($UPCA,0,11)))
{
echo 'DymoPrint: UPCA failed.';
return;
}
}
}
$DPrinters=$DymoAddIn->GetDymoPrinters();
if(stripos($DPrinters,'DYMO')===false)
{
echo "DymoPrint: No Dymo printers found.\r\n\r\n" . $DPrinters;
return;
}
$DymoAddIn->StartPrintJob();
if(!$DymoAddIn->Print($Qty,false))
{
$DymoAddIn->EndPrintJob();
echo 'DymoPrint: Printing failed.';
return;
}
$DymoAddIn->EndPrintJob();
The first time through, everything works like a charm. The second time through, GetDymoPrinters returns an empty string, and Print() fails. All subsequent attempts fail.
If I downgrade to Dymo Label Software 8.4.2, things seem to work fine on my development computer, Win7 64bit. However, on one deployed machine, Win Embedded Standard, 8.5.1 fails on the second run always, but downgrading to 8.4.2 isn’t a complete fix, now subsequent prints work ~80% of the time. It does seem that if you wait longer between attempted prints, the better the success.
Problem #2:
On the deployed machine, with 8.4.2, things were working sort of, see problem 1. After the machine was shutdown and restarted, nothing works. The code all executes successfully, no failures, but nothing prints. No documents show up in the windows printer status window, nothing. If I open Dymo Label Software, and print some misc text on the default label, it prints just fine. If I try to open the label file that is saved, and worked just fine before the reboot, I get an error message “label type is not supported by any installed printer”. It’s the same LabelWriter Turbo 400. I can open the label file, it’s the same XML document I have seen throughout this whole process, every account on the machine has full read/write access, I can make a change, remove the change, and save the file. But DLS refuses to open the file. I suspect that and the complete failure to print through PHP/COM are related, but again, all PHP/COM functions execute with success return values.
So, where do we go from here?
Paul,
Can you post the contents of your label file?
Here is the contents of the label file:
Landscape
Small30347
30347 1 in x 1-1/2 in
UPCA
Rotation0
False
True
21122334455
UpcA
Small
Bottom
Full
0
Center
TEXTNAME30
Rotation0
False
True
Left
Top
ShrinkToFit
True
False
123456789012345678901234567890
TEXTDESC30
Rotation0
False
True
Left
Top
ShrinkToFit
True
False
123456789012345678901234567890
TEXTPRICE7
Rotation90
False
False
Left
Top
ShrinkToFit
True
False
$123.45
Pre-escaping all of the xml file worked, here is the file:
<?xml version="1.0" encoding="utf-8"?>
<DieCutLabel Version="8.0" Units="twips">
<PaperOrientation>Landscape</PaperOrientation>
<Id>Small30347</Id>
<PaperName>30347 1 in x 1-1/2 in</PaperName>
<DrawCommands>
<RoundRectangle X="0" Y="0" Width="1440" Height="2160" Rx="180" Ry="180" />
</DrawCommands>
<ObjectInfo>
<BarcodeObject>
<Name>UPCA</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation0</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>True</IsVariable>
<Text>21122334455</Text>
<Type>UpcA</Type>
<Size>Small</Size>
<TextPosition>Bottom</TextPosition>
<TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<TextEmbedding>Full</TextEmbedding>
<ECLevel>0</ECLevel>
<HorizontalAlignment>Center</HorizontalAlignment>
<QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />
</BarcodeObject>
<Bounds X="326" Y="548.493957519531" Width="1747" Height="720" />
</ObjectInfo>
<ObjectInfo>
<TextObject>
<Name>TEXTNAME30</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation0</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>True</IsVariable>
<HorizontalAlignment>Left</HorizontalAlignment>
<VerticalAlignment>Top</VerticalAlignment>
<TextFitMode>ShrinkToFit</TextFitMode>
<UseFullFontHeight>True</UseFullFontHeight>
<Verticalized>False</Verticalized>
<StyledText>
<Element>
<String>123456789012345678901234567890</String>
<Attributes>
<Font Family="Arial" Size="12" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
</Attributes>
</Element>
</StyledText>
</TextObject>
<Bounds X="326" Y="150" Width="1747" Height="120" />
</ObjectInfo>
<ObjectInfo>
<TextObject>
<Name>TEXTDESC30</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation0</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>True</IsVariable>
<HorizontalAlignment>Left</HorizontalAlignment>
<VerticalAlignment>Top</VerticalAlignment>
<TextFitMode>ShrinkToFit</TextFitMode>
<UseFullFontHeight>True</UseFullFontHeight>
<Verticalized>False</Verticalized>
<StyledText>
<Element>
<String>123456789012345678901234567890</String>
<Attributes>
<Font Family="Arial" Size="12" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
</Attributes>
</Element>
</StyledText>
</TextObject>
<Bounds X="326" Y="312.698791503906" Width="1747" Height="120" />
</ObjectInfo>
<ObjectInfo>
<TextObject>
<Name>TEXTPRICE7</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation90</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>False</IsVariable>
<HorizontalAlignment>Left</HorizontalAlignment>
<VerticalAlignment>Top</VerticalAlignment>
<TextFitMode>ShrinkToFit</TextFitMode>
<UseFullFontHeight>True</UseFullFontHeight>
<Verticalized>False</Verticalized>
<StyledText>
<Element>
<String>$123.45</String>
<Attributes>
<Font Family="Arial" Size="12" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
</Attributes>
</Element>
</StyledText>
</TextObject>
<Bounds X="326" Y="414.269653320313" Width="145.202239990234" Height="579.775268554687" />
</ObjectInfo>
</DieCutLabel>
Let me try this:
Landscape
Small30347
30347 1 in x 1-1/2 in
UPCA
Rotation0
False
True
21122334455
UpcA
Small
Bottom
Full
0
Center
TEXTNAME30
Rotation0
False
True
Left
Top
ShrinkToFit
True
False
123456789012345678901234567890
TEXTDESC30
Rotation0
False
True
Left
Top
ShrinkToFit
True
False
123456789012345678901234567890
TEXTPRICE7
Rotation90
False
False
Left
Top
ShrinkToFit
True
False
$123.45
Here goes another try:
<?xml version="1.0" encoding="utf-8"?>
<DieCutLabel Version="8.0" Units="twips">
<PaperOrientation>Landscape</PaperOrientation>
<Id>Small30347</Id>
<PaperName>30347 1 in x 1-1/2 in</PaperName>
<DrawCommands>
<RoundRectangle X="0" Y="0" Width="1440" Height="2160" Rx="180" Ry="180" />
</DrawCommands>
<ObjectInfo>
<BarcodeObject>
<Name>UPCA</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation0</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>True</IsVariable>
<Text>21122334455</Text>
<Type>UpcA</Type>
<Size>Small</Size>
<TextPosition>Bottom</TextPosition>
<TextFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<CheckSumFont Family="Arial" Size="8" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<TextEmbedding>Full</TextEmbedding>
<ECLevel>0</ECLevel>
<HorizontalAlignment>Center</HorizontalAlignment>
<QuietZonesPadding Left="0" Top="0" Right="0" Bottom="0" />
</BarcodeObject>
<Bounds X="326" Y="548.493957519531" Width="1747" Height="720" />
</ObjectInfo>
<ObjectInfo>
<TextObject>
<Name>TEXTNAME30</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation0</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>True</IsVariable>
<HorizontalAlignment>Left</HorizontalAlignment>
<VerticalAlignment>Top</VerticalAlignment>
<TextFitMode>ShrinkToFit</TextFitMode>
<UseFullFontHeight>True</UseFullFontHeight>
<Verticalized>False</Verticalized>
<StyledText>
<Element>
<String>123456789012345678901234567890</String>
<Attributes>
<Font Family="Arial" Size="12" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
</Attributes>
</Element>
</StyledText>
</TextObject>
<Bounds X="326" Y="150" Width="1747" Height="120" />
</ObjectInfo>
<ObjectInfo>
<TextObject>
<Name>TEXTDESC30</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation0</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>True</IsVariable>
<HorizontalAlignment>Left</HorizontalAlignment>
<VerticalAlignment>Top</VerticalAlignment>
<TextFitMode>ShrinkToFit</TextFitMode>
<UseFullFontHeight>True</UseFullFontHeight>
<Verticalized>False</Verticalized>
<StyledText>
<Element>
<String>123456789012345678901234567890</String>
<Attributes>
<Font Family="Arial" Size="12" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
</Attributes>
</Element>
</StyledText>
</TextObject>
<Bounds X="326" Y="312.698791503906" Width="1747" Height="120" />
</ObjectInfo>
<ObjectInfo>
<TextObject>
<Name>TEXTPRICE7</Name>
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
<BackColor Alpha="0" Red="255" Green="255" Blue="255" />
<LinkedObjectName></LinkedObjectName>
<Rotation>Rotation90</Rotation>
<IsMirrored>False</IsMirrored>
<IsVariable>False</IsVariable>
<HorizontalAlignment>Left</HorizontalAlignment>
<VerticalAlignment>Top</VerticalAlignment>
<TextFitMode>ShrinkToFit</TextFitMode>
<UseFullFontHeight>True</UseFullFontHeight>
<Verticalized>False</Verticalized>
<StyledText>
<Element>
<String>$123.45</String>
<Attributes>
<Font Family="Arial" Size="12" Bold="False" Italic="False" Underline="False" Strikeout="False" />
<ForeColor Alpha="255" Red="0" Green="0" Blue="0" />
</Attributes>
</Element>
</StyledText>
</TextObject>
<Bounds X="326" Y="414.269653320313" Width="145.202239990234" Height="579.775268554687" />
</ObjectInfo>
</DieCutLabel>
This is beginning to annoy me now!
I have got the latest t sdk installed on my dev machine and everything prints well locally! but when i deploy it on to a server IIS to be precise i get this error::
{“Retrieving the COM class factory for component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E).”:null
Please help .. I am running out of development time!
Error means that the component your trying to use is not registered or is missing.
I am not an IIS administrator. but make sure that DLS is installed. You might also talk to your IIS administrator and verify that you have the corresponding access rights.
Hello. Let me start by saying that I have tried every possible solution located on this blog post, as well as ALL possible solutions found throughout the entire blog, and I am still having trouble so here it goes.
Just like everyone else I seem to be getting the following error:
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154.
(Full error as copied directly from VS 2012):
System.Runtime.InteropServices.COMException was unhandled
ErrorCode=-2147221164
Message=Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154.
Source=RFX_DymoBarCode
StackTrace:
at RFX_DymoBarCode.Form1.Form1_Load(Object sender, EventArgs e) in C:\Workspace\RFX\DotNet\RFX2_NET\Main\RFX_DemoBarCode\RFX_DemoBarCode\Form1.vb:line 54
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
InnerException:
As I said I’ve tried every solution availiable including registering the dll’s, changing the permissions, trying to compile in x64 and x86 with the given dependancies and everything, tried restarting my computer, reinstalling everything DYMO, restarting again, etc. and I’m still getting nowhere!
When I go to the CheckEnvironment page my machine passes everything so I really am stumped.
Some additional details:
At work I have been tasked with upgrading the company’s existing software, and they would like me to create a 64 bit executable for the application. The project is very old and was converted from Visual Studio 2008 to Visual Studio 2012. Upon converting there was a reference error where the Dymo dll couldn’t be located, but I’ve added DLSSDKCOMLibrary.dll from the DYMO Label software folder. I’ve tried ALL combinations of including the x64 version with an x64 compile, including the x64 version with an x86 compile, including the x86 version with an x86 compile, and including the x86 version with an x64 compile. None of these work. This along with over a dozen hours searching the internet with no relevant help is what led me to post here.
I also have the latest version of all of the drivers, software, etc. required, which is making this start to get frustrating. The new SDK with the X64 compatability seems to not work whatsoever, so if anyone has any ideas what I could do next please let me know ASAP as this task was assigned as a short fix, but has already taken many hours over the projected budget
If you are using the COM based DYMO SDK, which it appears you are, we only support 32 bit applications. You should not need to include any DYMO DLLs in your project as everything should be loaded through COM. Make sure you add your references to the SDK through the COM tab in the VS Add references dialog. This will link everything into your application correctly.
Even when I compile and attempt to run the application as a 32 bit application, the same error is still occuring. It occurs even when I add the reference to the SDK through the COM tab things are not getting linked correctly
Sorry for the double post, but since the task requires a 64 bit application, it seems that I must make a new application from scratch in order to do this. But since any COM based application cannot be ran as 64 bit, can you recomend a language that is not COM based that I could write an application using DYMO’s SDK? I have checked the samples provided with the SDK but there are only COM examples which I cannot use because I need the application to be ran as 64 bit, so I am unable to use any of the languages.
Hi,
I would recommend our Framework API. This is a .NET assembly you can directly reference, which means any language with .NET support will work. You can read more here:
http://developers.dymo.com/2010/06/02/dymo-label-framework-overview/
And download some sample from here:
http://www.dymo.com/en-US/dymo-user-guides/dymo-user-guides/dymo-label-v8-software-developers-kit-dymo-sdk-v8-windows-p
Creating an instance of the COM component with CLSID from the IClassFactory failed due the following : 80040154 for C# desktop based application.
I have installed Dymo 8.0.0 in our system. please suggest what we can do to fix this issue,
Please install the latest DLS (DYMO Label Software) 8.5.1 which can be found here http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe
Are you running your C# application in a client-server environment? If yes, are the printers locally attached or at the server side? Where has DLS been installed? What kind of OS are you using?
Are you able to print from DLS?
Creating an instance of the COM component with CLSID from the IClassFactory failed due the following : 80040154 for C# desktop based application.
I have installed Dymo 8.2.0 in our system. please suggest what we can do to fix this issue,
Please install the latest DLS (DYMO Label Software) 8.5.1 which can be found here http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe
Are you running your C# application in a client-server environment? If yes, are the printers locally attached or at the server side? Where has DLS been installed? What kind of OS are you using?
Are you able to print from DLS?
Hello, I am currently having a problem with printing from DYMO software. I get the exact same error mentioned here (80040154), and I believe my problem is that the ‘DLS7 Compatibility Com Type Library’ is not being loaded correctly. I cannot find this file. I have installed the dymo software, reinstalled, and tried it again. The file is nowhere to be found after multiple installs. How can I add/find this file?
This isn’t a file reference. All required binaries are installed and registered with DYMO Label Software (DLS). Please make sure that you install the latest DLS 8.5.1 which can be found here http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe
I have installed that several times, but to no avail. When I run the website to test if it is installed, it gives me a ‘false’ reading. I have reinstalled several times. Would there be a reason it is not installed correctly?
Are you able to print from DLS? The browser problem is a different issue and you’ll find more information about the NPAPI issue here http://developers.dymo.com/tag/javascript/
Hello,
I am having the same error that has been reported on here already: Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154. I have tried the suggested fixes on here (reinstalling the DLS, removing and reimporting interop references, etc) but none work. One wrinkle to this issue: when I log on as another user on the local machine, I am able to execute it with no issue which makes me think it is a permission issue somewhere. This is happening with some users but not all and we are all running 64-bit Windows 7. Any help would be appreciated.
It sounds like a permission issue. Try adjusting COM permissions for that user. If that doesn’t help then your COM security might be corrupted. In this case you might have to create a new user or do a clean Windows install.
Hello,
I have an ASP.NET (VB) web application running on IIS. I installed the DLS and SDK on my development machine, and developed my solution, which runs fine in Visual Studio’s IIS Express, as well as on my local IIS.
However, after implementing my app on the actual deployment environment, I have been stuck trying to get around the following error:
“System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)…”
I am not allowed to install any DYMO code or printer drivers on the deployment servers. I can, however, install DLS and the printer drivers on the client (browser) machines. The client machines are where the DYMO printer will be connected, as well.
I have read the blog posts and some other DYMO help (i.e., http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/), and it appears that I have coded my solution incorrectly. I have added functionality to ASP.NET pages that must run server-side, and I don’t think this is what I want. I apparently need to code for option #1 in the above-referenced dll. (i.e., print from browser and printer connection on user PC), using javascript.
Maybe I’m missing the obvious, but I don’t see that scenario in the SDK samples. Are you able to point me to an ASP.NET code sample (VB, preferably, but C# is okay too), that shows how to use ASP.NET to build an html page with client script that will invoke the DLS and printer on the client (browser) side?
Again, let me stress, I have NO option of installing ANY DYMO code (DLS or otherwise) or printer drivers on the deployment servers (where IIS and my app will reside).
Thank you!
Hi Brian,
See if this helps at all:
http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/
We don’t have ASP.NET as we do not support ASP.NET and Windows Server. Please refer to the JavaScript examples.
Regards,
Jeff Gonzales
DYMO Software
Hi Jeff,
Thanks for the response.
The URL you provided (http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/), is the same one that I already referenced in my initial post. While that is good information, it does not link me to any examples. Are you able to point me to the javascript examples?
Thank you.
Specifically, I need javascript samples on how to implement Option #1 in http://developers.dymo.com/2010/06/15/label-printing-and-web-deployment/.
A new blog post describing how to do this is scheduled for release later this week. In the meantime, search for “open beta” and “javascript” on the blog and see what you can find. The following may be of use:
http://developers.dymo.com/2010/06/25/error-80040154-retreiving-com-class-factory/#comments
I seem to find bits and pieces of documentation on the DYMO Label Framework javascript library all over the place on the blog, each with an example. While that is better than nothing, it would be much more helpful if you had an actual single source of documentation — a reference manual — for the Framework that includes what methods and properties are available, as well as the functions they perform. I cannot seem to find such a manual. Can you point me to one, assuming it exists?
The framework documentation can also be found within the SDK installer.
I FINALLY found it: I just happened to stumble upon your reference documentation for The DYMO Label Framework javascript library:
http://labelwriter.com/software/dls/sdk/docs/DYMOLabelFrameworkJavaScriptHelp/index.html
Please make note of this URL so that you can quickly provide it to others who are looking for the same.
OS: Server 2012
Language: C#
IDE: Visual Studio 2010
DLS: 8.5.3 and 8.5.1
Product setup: LableWriter 450 and 450 duo behind a PrintServer
I can print using DLS just fine.
I am trying to use the COM interface in a C# program and am running into this problem when I try to call:
private DymoAddIn varDymoAddIn = new DymoAddInClass():
System.Runtime.InteropServices.COMException (0x80040154): Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
at BSD.Utils.PrintThread.PrintThreadProc()
I tried the above steps in http://developers.dymo.com/2010/06/25/error-80040154-retreiving-com-class-factory/ with no change.
I originally using DSL 8.5.3 but I did not see “DLS7 Compatibility COM Type Library 1.0”. I tried including DLS SDK COM Type Library and setting Embed Interop Types to off. I tried downgrading to 8.5.1.1816 because that worked on a past project, but it did not work.
Hi,
We are aware of the problem and are currently investigating it. Those samples have not been updated in a long time as we are encouraging developers to use our new framework instead. Please take a look at the following and see if it helps:
http://developers.dymo.com/2015/09/24/dymo-label-framework-javascript-library-2-0-open-beta-2/
Regards,
Jeff Gonzales
DYMO Software
i have an error when published on iis
Knowing I followed all the instructions on error message
this error :
Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in File Explorer, choose “Properties” and select the Security tab. Click “Add” to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
HRESULT 80070005 is generally a permissions issue. The account in question doesn’t have permissions to the local security policy. What happens when you attempt to follow the instructions the error message provides?
I just wanted to say to all the people who are having these issues. Basically for me it was not understanding those “.label” files that we create are really XML schema files and they are tightly coupled to which ever version of DYMO Label you used to create those files. Meaning if you are using those .label files in your applications via the DYMO SDK… the machine running the application must also have installed the same version of Dymo Label software on it that was used to create the .label file.
Hope this helps somebody… took me a few hours :(
This is a very old thread but I hope someone picks this up.
Installing the DYMO software on each client PC is madness and largely negates the benefits of building customs applications to work with the DYMO printer. I too am having this issue and installing the DYMO software on all (>100 PC) is not feasible. I had hoped that the application that I build would be self contained and would contain the necessary DLL files to enable my app to print across the network to a shared printer. Can anyone advise if a solution exists to this weakness.
Hello Steve,
Sorry for the inconvenience, but a DLS install is required for all client machines.
Ron
We are having issue with DYMO printer when used in our web application (build with .Net VS 2008, Framework 2.0). It worked all find on our development machine but as soon as we deploy it on our local server it doesn’t work, Below are more details
DYMO LabelWriter 450 Printer
1) DLS8Setup.8.7.1 Software
2) DYMO_Label_v.8_SDK_Installer
3) Visual Studio 2008
4) Server : windows server 2016
5) IIS Server 10
6) 64 bit system
We are getting below error message,
Creating an instance of the COM component with CLSID {3AAD7661-8F83-11D2-8E5D-00A02415E90F}
from the IClassFactory failed due to the following error: 80070005.
We tried to set some permissions on the Com component but then got below error
Creating an instance of the COM component with CLSID {3AAD7661-8F83-11D2-8E5D-00A02415E90F}
from the IClassFactory failed due to the following error: 80040154.
We also did changed “Enable 32 bit Application” to True on Apppool but that don’t change anything.
Can you please advice how to proceed with this. Looking forward for your response.
Hello Mitesh,
Are you using our Javascript SDK to interface with our printer? Or are you using server side logic?
Ron
Hi,
We are using Dymo Label printer using WPF application using the latest version 8.7.3 for Windows.
we are facing the error “Creating an instance of the COM component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} from the IClassFactory failed due to the following error: 80040154 Class not registered”.
we have also tried all possible way mentioned above as below.
1. make sure you have the latest DYMO Label v.8 installed. The latest version is always available from the download section on dymo.com. currently the latest version is 8.2.2.996
2. if you are running on 64-bit Windows make sure you compile your application as 32-bit (switch TargetPlatform from default AnyCpu to x86). See this and this. If you can’t change the TargetPlatform, try the beta SDK that adds 64-bit support
3. reimport interop references to SDK libraries. Remove Interop.Dymo.dll from the project settings; add reference to “DLS7 Compatibility COM Type Library 1.0” COM library; recompile your application.
Please suggest at earliest with a solution.
Hi Akshay,
I would recommend starting with one of our C#, Winforms samples that installs with our SDK. There should be no difference in setting up a WPF application using our SDK.
Ron
Hi Ron,
We have the same issue at a customer that uses one of our products that use the Dymo COM API. The problem also occurs in our development environment. I’ve tried running the SDK sample: High Level COM C# example but it fails in the same way:
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} failed due to the following error: 80040154.
So this is on Win10 (x64) and a clean installation of DLS8Setup.8.7.3.exe.
Any idea what might be going on here?
Hi Matt,
Have you tried running one of our sample apps in your development environment?
Ron
Hi Ron,
Yes the sample apps show the same error in my development environment on Win10.
Kind regards,
Matthijs
Hi Matthijs,
The COM error seems to indicate an issue with the COM object not being installed.
When DLS was installed, it registered those COM objects. You may need to snoop around in the registry to see if those COM objects are installed. It may be a mixed mode 32bit/64bit issue.
Ron
Hi there,
I have a similar problem but with another CLSID. When I call the Framework.GetPrinters() function. I get an exception with CLSID {E8D851FA-9967-4ADF-9644-0183B9B1EA68} but same Error code (80040154). Class not registered.
My environment: Windows 10 x64, C# .Net v4, latest Printer driver version 8.7.2.
The problem happens not on the computer where I develop my application, it happens on other computers in my office.
I found out that the CLSID belongs to the file DYMOPrintingSupport.dll , but strange thing, in the x64 directory. My application runs in 32Bit mode. I forced it an checked it too.
The PC where it does not run has a 32Bit OS, so I cannot register the 64Bit DLL.
Why does the Framework need the 64Bit version of the file? Do I have the chance to change this?
Maybe I should say on the target machine there is no SDK installed. I am not sure if this expected for printing.
Thank you
best regards
Martin
Hi Martin,
Make sure you have DLS installed on all of your client machines. I suspect that is your issue, if not, please let me know.
Ron
Hi I’m getting the error:
Retrieving the COM class factory for component with CLSID {09DAFAE2-8EB0-11D2-8E5D-00A02415E90F} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
I’ve tried to install the x64 Supported version of Dymo, it does successfully. When I go to add the COM reference DLS7 Compatibility COM Type Library 1.0, it doesn’t show up on my list. Even tried to install the latest Dymo SDK 8.7.3. Still does not show up.
Locally works, but not on the server.
Also tried to register the Interop.Dymo.dll (the same used on the project) in the systemWOW64 folder on the server. Nothing changes.
Configuration:
PCs locally and server runs x64, not possible to change.
Any help would be appreciated.
Hi Ivana,
On the machine that you get the COM error, can you start and print from DLS?
Ron