Mar 082017
 

The latest release of DLS is now available for customers that have been experiencing issues with the previous 8.6 release.

Issues fixed in 8.6.1 include:

  • Print Quality issues with a variety of consumables, including File Folder
  • Ability to not install the Web Service and other installer fixes
  • Various SDK fixes (DLLPrinting.dll, RenderLabel requests failing, threading issues, etc.)
  • Various bug fixes

Please use the below links to download the DLS installer.

Mac OS Download link Mac DLS 8.6.1

Windows Download link Win DLS 8.6.1

  219 Responses to “The new DLS 8.6.1 release is now available!”

  1. Where can we get the JS file needed to communicate with this version of the web service? I had a working service using 8.5.3 on my local windows machine and had users report that the web printing does not work with this 8.6.1 version (8.6.700.0 according to control panel). To try to troubleshoot, I downloaded this version and indeed the js call to the web service to load the label file fails with a 400 error with the following detail:

    https://localhost:41951/DYMO/DLS/Printing/OpenLabelFile?fileName=urlhere

    [0] Value cannot be null.Parameter name: source [1] There was an error generating the XML document. [2] There was an error generating the XML document. [3] There was an error generating the XML document. [4] Unable to save label template

    Under 8.5.3 this same url returns the content of the label file

  2. After installation I Always get an NullReferenceException in the function dymo.dls.runtime.printers.retrieveinstalledprinters.

    I was working with a previous version 8.6, where the problem did not occur.

    Any idea ?

    Best regards

    • Did you do a clean install of v8.6? CAn you please provide us logs so that we can troubleshoot your issue? Thanks.

      • This piece of code:

        ILabel label = Framework.Open(@”bc.label”);
        {
        label.SetObjectText(“SnelstartNumber”, article.Code);
        label.SetObjectText(“TEXT”, article.Description);
        label.SetObjectText(“BARCODE”, article.BarCode);

        label.Print(printer); //OFFENDING LINE
        }

        System.NullReferenceException: Object reference not set to an instance of an object.
        at DYMO.DLS.Runtime.Printers.RetrieveInstalledPrinters()
        at DYMO.DLS.Runtime.Printers.Init()
        at DYMO.DLS.Runtime.Printers.GetEnumerator()
        at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
        at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
        at DYMO.Label.Framework.Printers..ctor()
        at DYMO.Label.Framework.Label.Print(String printerName)

      • I have the same issue. A clean install did not help.

        Which logs do you need to debug?

        • You can run the LWSupport tool to create a zip file of log files. you can find the tool on your machine here:
          C:\Program Files (x86)\DYMO\DYMO Label Software\Support

          Ron

    • I also get an DYMO.DLS.Runtime.Printers.RetrieveInstalledPrinters NullReference exception.

      Any solution?

      Call Stack:

      bei DYMO.DLS.Runtime.Printers.RetrieveInstalledPrinters()
      bei DYMO.DLS.Runtime.Printers.Init()
      bei DYMO.DLS.Runtime.Printers.GetEnumerator()
      bei System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
      bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
      bei DYMO.Label.Framework.Printers..ctor()

    • I am also experiencing this issue – same stacktrace, same exception from RetrieveInstalledPrinters. This is from v8.6.2

      • Hi Glen,

        Do you have DLS installed on your machine? Can you print from DLS? The exception seems to indicate that you do not have any printers installed.

        Ron

      • I am getting a very similar error “Object reference not set to an instance of an object.” when I am trying to do

        For Each printer As IPrinter In DYMO.Label.Framework.Framework.GetPrinters()
        ddlLabelPrinters.Items.Add(printer.Name)
        Next

        The stacktrace is:
        at DYMO.DLS.Runtime.Printers.RetrieveInstalledPrinters() at DYMO.DLS.Runtime.Printers.Init() at DYMO.DLS.Runtime.Printers.GetEnumerator() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at DYMO.Label.Framework.Printers..ctor() at DYMO.Label.Framework.Framework.GetPrinters() at ….

        Has anyone had any luck with this?

        • Hi Glen,

          When you run DLS on this machine, do you get a choice or printers to use?

          Ron

          • Hi, Ron:

            Yes I do, and all the samples from the SDK run, list printers and print labels. Even the commandline example. Feel free to email me directly if we want to troubleshoot this more efficiently, then post the solution to the blog.

            -=Glen

          • Glen,

            It sounds like you are missing a reference in your project file… To test, take some of the working code from a sample and put it into your project file and see if it works, if not, compare the references from the sample to your solution.

            Ron

          • Ron:

            Thanks a lot for your help. I loaded up the \Framework Samples\dotNET\Barcode\ sample project and was able to execute it locally on my machine (Win7) in debugging mode with no errors. I then tried running my web application locally in debugging mode and it also worked with no errors. However, when I push my web application to the IIS server (WinServer2008R2) I get the error. It seems like IIS is able to talk to the Dymo Framework for some things, but not when it comes to GetPrinters() or Print(). Any ideas on what to troubleshoot next?

            FYI, I would like clients on our Intranet to be able to print data to a label printer on the LAN through the web server.

            -=Glen

          • Hi Glen,

            Typically for web applications we recommend using our Javascript SDK so that all printing takes place on the client. The client can access a shared printer that is accessed via the LAN.

            Ron

          • Hi, Ron:

            In my application we have users that could be using Chromebooks or tablets to access inventory pages and print labels, so it seems the server-driven solution would be best.

            Turns out I think the reason for the error is the printer I was hoping to print to is a workstation printer that has been shared with the server, not a label printer physically attached to the server. I am going to try the LabelWriter Print Server and add the printer th the server as a network printer to see if that works.

            -=Glen

  3. It still won’t verify on my Dymo 280.

    I am running a MacPro with OS X El Capitan v.10.11.6

    Any ideas?

  4. I’ve noticed that on windows the xml parser doesn’t parse properly when not using you have empty tags which are not self closing. So for example works while does not and it just prints an empty label. Due to how my xml is getting generated server side this isn’t easily controlled so is causing issues. This does not happen on OSX where it prints properly either way.

    • Hi Levi,

      That doesn’t sound good. I will look into this and see what I can find. In the meantime, can you provide me with some examples and any debug output you may have?

      Thanks,
      Jeff

  5. I’ve noticed that on windows the xml parser doesn’t parse properly when not using you have empty tags which are not self closing. So for example if `RoundRectangle /` is self closing it works while if it uses `RoundRectangle .. /RoundRectabgle` it does not and it just prints an empty label. Due to how my xml is getting generated server side this isn’t easily controlled so is causing issues. This does not happen on OSX where it prints properly either way.

  6. Is there a newer JS file that works with the 8.6 DLS code? This one doesn’t: http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.2.0.2.js and is the most recent one I can find.

  7. Also, does the 8.6 version of the web service on Windows support TLS 1.1/1.2 connections to pull label definition files and images?

  8. What does this message mean in the Web Service Error log? (The Url to the label definition works fine BTW)

    DYMO.DLS.Printing.Host.exe Error: 0 : WebMethod call failed: Unable to save label template
    at DYMO.DLS.Runtime.Label.Save()
    at DYMO.Label.Framework.Com.Label.SaveToXml()
    at DYMO.DLS.Printing.Host.DlsWindowsFramework.OpenLabelFile(String fileName)
    at DYMO.DLS.Printing.Service.DymoPrintingService.c__DisplayClass3.b__2()
    at DYMO.DLS.Printing.Service.WebUtils.ExecuteWrapped[T](Func`1 f)
    DateTime=2017-03-10T22:33:10.7635328Z

    • We need more information in order to help you troubleshoot this. Please send OS version/bitness, app version, your web service log, and the browser’s response text along with complete error output. Thanks.

  9. Uninstall Dymo Label first and then reinstall it; otherwise, it won’t work

  10. Hello DymoJeff.

    I was wondering if you, or someone could help with this issue:

    Since, the label has htmltag formatting, pastebin link for the label I’m trying to print is HERE any [ Tagname ] should just be read as proper XML. This form is cutting/trimming anything that resembles HTML.

    http://pastebin.com/19KjcAyr <— THE LABEL FILE

    NOTE: This label file loadsand prints using the Dymo Label software (any version)
    BUT, when trying to use the NEW Dymo LabelWriter Framework it does _NOT_ work.
    It worked 100% with the old framework using NPAPI.

    For some reason, if you replace in the label file itself – [ CustomPaper ]blah blah [ /CustomPaper ] with a prefab label size like [ PaperName ] 30252 Address [ /PaperName ] it works and doesn’t complain. The error code is 400 BAD REQUEST and the actual log of the error is written below. I am unable to figure out how to proceed here, as standard label sizes are not helpful.

    ____________________
    Here is the error from the %appdata%.log:

    DYMO.DLS.Printing.Host.exe Information: 0 : Starting DYMO.DLS.Printing.Host 8.6.1.42858
    DateTime=2017-03-13T17:32:52.5800692Z
    DYMO.DLS.Printing.Host.exe Information: 0 : Loading printing lib from C:\Program Files (x86)\DYMO\DYMO Label Software\PrintingSupportLibrary.dll
    DateTime=2017-03-13T17:32:52.6310876Z
    DYMO.DLS.Printing.Host.exe Information: 0 : StartHost: https://localhost:41951/DYMO/DLS/Printing
    DateTime=2017-03-13T17:32:52.7646729Z
    DYMO.DLS.Printing.Host.exe Information: 0 : CheckServiceStatus
    DateTime=2017-03-13T17:33:07.6308673Z
    DYMO.DLS.Printing.Host.exe Information: 0 : GetPrinters
    DateTime=2017-03-13T17:33:07.6408750Z
    DYMO.DLS.Printing.Host.exe Information: 0 : GetPrinters
    DateTime=2017-03-13T17:33:07.6612374Z
    DYMO.DLS.Printing.Host.exe Information: 0 : PrintLabel: DYMO LabelWriter 450
    DateTime=2017-03-13T17:33:07.6892571Z
    DYMO.DLS.Printing.Host.exe Information: 0 : Utils.CreateLabelPrintParams(): printParams == null, creating default printParams based on printer type
    DateTime=2017-03-13T17:33:07.8691296Z
    DYMO.DLS.Printing.Host.exe Warning: 0 : LabelPrintLoop.Print(): Exception Type: NullReferenceException
    Object reference not set to an instance of an object.

    Stack Trace: at DYMO.DLS.Runtime.LabelPrintLoop.GetLabelOffsets(Label label)
    at DYMO.DLS.Runtime.LabelPrintLoop.PrintPage(PrintQueue printQueue, SerializerWriterCollator visualsCollator, ITextRecord textRecord)
    at DYMO.DLS.Runtime.LabelPrintLoop.Print()

    DateTime=2017-03-13T17:33:08.6067970Z
    DYMO.DLS.Printing.Host.exe Warning: 0 : LabelPrintLoop.Print(): visualsCollator.EndBatchWrite() failed: Exception Type: XpsWriterException
    Must call Write before calling EndBatchWrite.

    Stack Trace: at System.Windows.Xps.XpsWriterException.ThrowException(String message)
    at System.Windows.Xps.VisualsToXpsDocument.EndBatchWrite()
    at DYMO.DLS.Runtime.LabelPrintLoop.Print()

    DateTime=2017-03-13T17:33:08.6138016Z
    DYMO.DLS.Printing.Host.exe Information: 0 : Loading native printing lib from C:\Program Files (x86)\DYMO\DYMO Label Software\DYMOPrinting.dll
    DateTime=2017-03-13T17:33:08.6208069Z
    DYMO.DLS.Printing.Host.exe Error: 0 : WebMethod call failed: Printing Error: Object reference not set to an instance of an object.
    at DYMO.DLS.Runtime.Label.Print(Printer printer, LabelPrintParams printParams, Boolean endPrintJob)
    at DYMO.Label.Framework.Label.Print(IPrinter printer, IPrintParams printParams, IEnumerable`1 textSet)
    at DYMO.Label.Framework.Label.Print(IPrinter printer, IPrintParams printParams, String labelSetXml)
    at DYMO.Label.Framework.Framework.Print(String printerName, String printParamsXml, String labelXml, String labelSetXml)
    at DYMO.DLS.Printing.Host.DlsWindowsFramework.PrintLabel(String printerName, String printParamsXml, String labelXml, String labelSetXml)
    at DYMO.DLS.Printing.Service.DymoPrintingService.c__DisplayClass6.b__5()
    at DYMO.DLS.Printing.Service.WebUtils.ExecuteWrapped[T](Func`1 f)
    DateTime=2017-03-13T17:33:08.6901285Z

    __________________________

    This is a major issue and any help is appreciated.

    Louis

  11. Hello,

    I also have an issue to print from the web…

    When I try to use your sample (http://www.labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html), There is no printer in the list…

    When I try to diagnostic the web service, I have an error message : “The underlying connection was closed. An unexpected error occured on a send”.

    I totally cleaned from my computer the last installation and I reinstalled the new one, but without success… :-(

    Any ideas ?

    Thanks a lot,

    Xavier

    • Hi,

      Have you an idea why the web service does not work on my laptop ?

      It’s work on my customer’s pc, but she still cannot print from the web. No printers…

      Thanks for your help,

      Xavier

  12. Hi!

    Same problem like you but just install the last version of Dymo software 8.6.1
    And don’t forget to use the last dymo framework Javascript :
    http://www.labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.2.0.2.js

    And it will work.

    Allan

  13. I tried to use SDK Framework 2.0.2 but it fails to work with firefox 52.0.1. Chrome and ie works fine.
    The problem is :
    onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: false, isWebServicePresent: false, errorDetails: DYMO Label Framework Plugin is not installed

    Any ideas why in firefox fail to init and fallback to look for plugin?

    • What platform are you using? Did you do a clean install?

      • We ran into the same problem today with FF 52.0.1. It was traced to Firefox not having the Dymo root CA in its trust store, so Firefox blocked the XHR calls to the web service as they were unverified.

        A reinstall of DLS (after Firefox was installed) seemed to fix the issue.

  14. Does it matter if the the printer is shared from another server?

    And to be sure, the sdk doesnt need to be deployed, just the DYMO.Common, DYMO.DLS.Runtime and DYMO.Label.Framework dll files right?

  15. If this is a re-post I apologize but I’m not seeing my comment and I have a bunch of angry clients right now. I updated my framework using the samples and although my labels print, they print the same label each time. I would like to have you take a look at my code but when I pasted it in it didn’t seem to accept my post. Please help.

    • You may have to post it as code.

      • I tried to nest it in [CODE] [/CODE] but it didn’t seem to work. Do I need to use a different format?

        • [CODE]

          var label = dymo.label.framework.openLabelXml(labelXml);

          // create label set to print data
          var labelSetBuilder = new dymo.label.framework.LabelSetBuilder();

          // first label
          var record = labelSetBuilder.addRecord();
          record.setText(“Text”, “”);
          label.setObjectText(“SKU”,”45242″);
          label.setObjectText(“Price_String”,”$18.00″);
          label.setObjectText(“ProductName”,”Birds and Bees Teas – Tins”);
          label.setObjectText(“OptionText”,”Lighthearted”);

          // second label
          var record = labelSetBuilder.addRecord();
          record.setText(“Text”, “”);

          // set label text

          label.setObjectText(“SKU”,”51627″);
          label.setObjectText(“Price_String”,”$3.00″);
          label.setObjectText(“ProductName”,”Birds and Bees Teas – Tins”);
          label.setObjectText(“OptionText”,”Sample Size – Grounded”);

          var printers = dymo.label.framework.getPrinters();
          if (printers.length == 0)
          throw “No DYMO printers are installed. Install DYMO printers.”;

          var printerName = “”;
          for (var i = 0; i < printers.length; ++i)
          {
          var printer = printers[i];
          if (printer.printerType == "LabelWriterPrinter")
          {
          printerName = printer.name;
          break;
          }
          }

          if (printerName == "")
          throw "No LabelWriter printers found. Install LabelWriter printer";

          // finally print the label with default print params

          label.print(printerName, "", labelSetBuilder);
          [/CODE]

  16. If the Visual Studio 2013 redistributables are already installed, this installer tries to install them anyway and then says “it appears installing of 2013 Redistributables have failed. Do you want to continue setup?”

    it should do a proper test if the component is already installed.

  17. It seems I can’t add an ImageObject with an ImageLocation tag any longer. It has vanished from the UI (i.e. only embedded images can be inserted from the UI). Besides, old .label files with ImageLocation tags have stopped working. I haven’t been able to find any relevant information anywhere.

    Can I have a working example (.label file) that contains an ImageLocation tag? You can use http://www.dymo.com/wcsstore/DymoGlobalStorefrontAssetStore/images/logo.png as an example.

    Thank you

    • Is this what you’re looking for?

      location of image object in UI

      • Not quite. From that UI you can only embed an image (i.e. a base64 PNG image file). What you see in the .label is is:

        ...
        hjg6jh5fghj5fghj4ghj7g4jh8ghj....
        ...

        It is the ImageLocation tag what I’m talking about, which doesn’t seem to work anymore. I can’t tell in what version it’s gone broken:

        ...
        http://www.whatever.com/image.png
        ...

      • Hi Jeff,

        Sorry, but I haven’t heard back. These two examples show the problem clearly. ImageLocation has stopped working after a version upgrade. Are there any plans on fixing it? Has it been quietly deprecated perhaps?

        Not working (using ImageLocation): http://pastebin.com/QvvAEkaC
        Working (using embedded image): http://pastebin.com/sXmiajAe

        • Can you confirm these worked in a previous version? If so, what’s the latest version that worked for you?

          • Hi Jeff,

            Since I’m a bit pissed off, I’ll try to be brief:

            1. DYMO does not provide links for older versions, which means I can’t QA test your products…
            2. I shared two examples to reproduce the issue. I think that is more than what is expected from the client. DYMO should be doing those checks to confirm when your product regressed, instead of asking the clients to do so.
            3. I did not make that tag up; ImageLocation has been a valid tag for a while, we’ve been using it for years, and you can search in developers.dymo.com to give yourself a bit of proof (e.g. http://developers.dymo.com/2010/03/24/understanding-label-file-formats-in-dymo-label-v-8-label-objects/)
            4. It seems DYMO didn’t realise about broken features, but also it seems DYMO don’t care about it.

          • Hi Christian,

            Sorry this is causing you so much frustration. I opened your label files in DLS and confirmed the offending one isn’t working. I will research this further.

            Regards,
            Jeff

          • Hi Jeff,

            The tag stopped working after updating to Dymo Label 8.6.1. The same tag working fine in Dymo Label 8.5.3 version.

            Is there any fix for this to work in 8.6.1 version ?

            Regards,
            Raghu

          • Christian,

            It looks like this issue is still under investigation. We are working on a release that will fix some Chrome security issues. I will see if this problem will be included as well.

            Regards,
            Jeff

  18. Hi,

    We are trying to install this version on a Windows Vista machine with SP2 and .NET Framework 4.5.1

    However, when the service tries to start we get the message:

    “Program terminated unexpectedly: The type initializer for “DYMO.Managed.PrintingSupportedGateway” threw an exception.”

    Any ideas?

    PS: 8.5.3 installs ok but does not work with the DYMO Label Framework 2.2

  19. Hello,

    Is there any way to determine if a printer is out of labels programmatically? I’m using a Dymo LabelWriter 450 on a LabelWriter Print Server. I’ve tried an SNMP walk on the printer, but none of the OIDs seemed to indicate whether the printer was out of labels or not. When the front light is flashing blue and the printer is out of labels, the value for device status (OID .1.3.6.1.2.1.25.3.2.1.5.2) returns “running(2)”, and the value for printer status (OID .1.3.6.1.2.1.25.3.5.1.1.1) returns “idle(3)”. These same values are returned when the printer is loaded with labels.

    • I think this is only possible with the mobile labeler, because it uses cassettes and there is a mechanism in the cassette bay to detect its presence.

  20. I’m on a fresh installation of 10.12.4 Sierra and am getting installation failed error message from 8.6.1.123 , I tried downlodign from here and the main software page of Dymo but get same error with both. Any suggestions?

    Alan

    • Sorry forgot to add it’s a Dymo 310 Lablewriter, and I tried once without the USB cable and once with, both failed. Maybe it’s too old to be supported? It’s been working fine, only reason for upgrade was new Hard disk & a fresh OSX install.

    • Can you send us the logs and any other error output you received?

  21. Hi,

    Using DLS 8.6.1 and javascript Dymo Label Framework 2.0.2, printing to a LabelWriter 450 shared over a network from a web application, I get a 20 second delay between click and label printout. On another machine with the same setup except for the printer which is connected locally and not shared, the delay is 3 seconds, which is normal.

    The delay occurs on the POST request, where it takes at least 20seconds to return an OK status: https://localhost…/DYMO/DLS/Printing/PrintLabel

    The StatusConnected and GetPrinters GET requests are processed at normal speed, almost instantly.

    Any advice on how I can decrease this delay to a normal interval of less than five seconds?

    • Hi,

      I believe there is a five-second delay between retries, so perhaps there is a connectivity issue with the Web service. Did you do a clean install or did you install over an older version of DLS?

      Have you tried our samples to see if you get the same delays?

      Another suggestion would be to set up a reverse proxy like Charles to monitor the web traffic and see what’s going on after initiating the POST request:

      https://www.charlesproxy.com/documentation/proxying/reverse-proxy/

      Regards,
      Jeff

  22. Hi

    Is v8.6.1 SDK backward compatible with v8.5.4 ?
    If so, im facing issues while printing with v8.5.4.
    Currently i installed 8.5 in my machine and try to use SDK 8.6 but when i tried to print i see error as missing dll’s for PrintingSupportLibrary.dll / DYMOPrinting.dll, so i manually added these two dll’s to resolve the issue.
    Can you please tell me does 8.6 is really compatible with 8.5.4.

    Thanks.

  23. Please tell me the solution for the problem i faced for missing dll’s.

  24. Dymo lavel V.8.6.1.42858

    When trying to add a barcode object to a blank label

    Error message:
    Cannot find assembly MDYMOBarcode.dll or one of it’s dependencies

    Cannot find module

    Clean Install and rebooting the WIndows 7 machine does not help :(

    All labels print fine except labels with a barcode, they are not printed either.

    All suggestions are welcome

    • Hi Erik,

      I am running Windows 7 as well, and I don’t get that problem. I can also print barcodes. Can you verify that MDYMOBarcode.dll exists in your DLS install folder? I installed mine here:

      c:\Program Files (x86)\DYMO\Dymo Label Software

      Your install may vary depending on how you proceeded through the install wizard.

      Thanks,
      Jeff

  25. With the latest Chrome release from Google, 58.0.3029.81, the HTTPS no longer shows as secure in the browser.
    The address bar specifically says Not Secure.

    Is this something we can fix or do we need an update to our DYMO framework/library?

    This worked fine in the prior version of Chrome (couple days ago). Now we have customers contacting our support worried about security issues.

    Thank you.
    Eddie

  26. This release seems to work much better.
    Still there are problems that I could work around this time at least.
    I do have a question.
    What I do is:
    1. Load a label
    2. Render and display it with dynamic data
    3. Print it
    Its seems that in order to get this to work I first have to use label.setObjectText() to replace a parameter with it value.
    Then I can render the label correctly and before I print it I have to:
    valuesXml = new dymo.label.framework.LabelSetBuilder();
    var record = valuesXml.addRecord();
    record.setText(…..)

    Am I doing something wrong?
    Is there one way to populate the label parameters with data for both rendering and printing?

  27. Current problem with Chrome after update to v.58 comes from it’s SSL certificates handling changes.

    Opening https://localhost:41951/DYMO/DLS/Printing/Check in Chrome tells “Connection is not secure” with submessage “NET::ERR_CERT_COMMON_NAME_INVALID”.
    Further notes (after clicking ADVANCED) says that certificate for localhost comes from “[missing_subjectAltName]”.

    According to:
    https://alexanderzeitler.com/articles/Fixing-Chrome-missing_subjectAltName-selfsigned-cert-openssl/
    https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/IGT2fLJrAeo/csf_1Rh1AwAJ

    certificate used to secure https Web Service connectivity must be regenerated and include Subject Alternative Name.

  28. I’m having a problem printing labels starting today. I get the error message that no Dymo printers are installed. This is a secure site but I’m not getting any errors about the security certificate like the above comments.

    The problem is in Google Chrome version 58.0.3029.81 and Firefox version 53.0.
    It still prints fine in Internet Explorer 11.0.9600.18638.

    Here are the error messages I’m getting:

    [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/.
    DYMO.Label.Framework_2.0.js:59

    GET https://localhost:41951/DYMO/DLS/Printing/StatusConnected
    DYMO.Label.Framework_2.0.js:60

    XHR failed loading: GET “https://localhost:41951/DYMO/DLS/Printing/StatusConnected”.
    DYMO.Label.Framework_2.0.js:60

    [Violation] ‘click’ handler took 2200ms
    PrintLabel.js:30

    Thanks

    Jason Huskey

  29. I have problems with the new chrome release (58.0.3029.81) as well, but it’s not about SSL.

    Since the update it says that there are no printers installed on the computer, so I can’t print anything from the browser. One of our computers still has an older chrome version and that one works fine!

  30. For: localhost:41951/DYMO/DLS/Printing/StatusConnected Failed to load resource: net::ERR_INSECURE_RESPONSE

    Here is a temporary fix we have had our customers use.

    There is a security flag in chrome for localhost

    if you copy and paste

    chrome://flags/#allow-insecure-localhost

    In to your browser URL bar it will open a set of chrome settings

    Enable the option for
    Allow invalid certificates for resources loaded from localhost.

    and then close and reopen the browser. If it still continues to show the red line through the https:// a simple history clear in chrome worked to reset our site. We hope to have the real fix from DYMO soon.

  31. We started experiencing this issue across the firm today with the new Chrome update. Can you please contact with an update?

    Issue: No DYMO printers are installed. Install DYMO printers.

    f.renderLabel is not a function

  32. Steven G’s temporary solution worked for me.

    “chrome://flags/#allow-insecure-localhost”

    Thanks Steven G.

  33. It would be really helpful to have a new blog post detailing issues as big as this. Without these comment posts we would never have found out about it

    • That’s a great idea. I’ll see what I can do about it.

    • +1

      A posting with a brief summary of the issue and the plan of attack, update/release eta, etc would be super helpful, especially when fielding questions from customers.

      Thanks!

  34. Our software currently uses the V8.3.1 but since updating the DYMO Label V.8 software we’re now getting these errors when trying to print to a LabelWriter 450:

    Could not load file or assembly ‘Interop.DYMOPrintingSupportLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5426002a38745af9’ or one of its dependencies. The system cannot find the file specified

    Could not load file or assembly ‘Interop.DYMOBarcodeLib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=5426002a38745af9’ or one of its dependencies. The system cannot find the file specified

    If I browse on my PC to C:\Program Files (x86)\DYMO\DYMO Label Software I can see those DLLs don’t exist there. I have, however, found MDYMOBarcode.dll and PrintingSupportLibrary.dll.

    I uninstalled all DYMO software, restarted and performed a clean install and encountered the same issue. To test this further I created a test project and was able to replicate the issue. Upon further investigation I discovered an updated DYMO.Label.Framework DLL in C:\Program Files (x86)\DYMO\DYMO Label Software\Framework. I updated my test project to use this DLL which seemed to resolve the issue.

    However I was forced to update my test project to target .Net Framework 4.5.1 to use the updated DYMO.Label.Framework DLL. Unfortunately this isn’t possible to do with our live software as we have quite a few customers still using Windows XP, which doesn’t support .Net Framework 4.5.1.

    Is there an up-to-date DYMO.Label.Framework DLL that can target .Net Framework 4.0?

    Many thanks

    • Hi James,

      I’m sorry but we no longer support Windows XP. Additionally, you’ll have to use an older version of the framework that supports .NET 4.0 as newer versions do not support it.

      Regards,
      Jeff

  35. Here’s the workaround we’re using:

    1. Visit https://localhost:41951/
    2. Accept/proceed
    3. Restart chrome
    4. Try to print again

    Can confirm this works on both Mac and Windows. Chrome will remember the setting for 1 week which is hopefully enough time for these guys to put together an update. I think this is safer than just allowing all insecure localhost as the default on the browser.

    Or if it’s an available option, you can also chose to use Firefox in the meantime. The service still works there.

  36. “chrome://flags/#allow-insecure-localhost”

    This works, as you know, but our customers want a permanent fix. Any update?

    Thanks

  37. Dymo support, do you have any updates? My users are in an uproar and the “fixes” posted did not address the issue.

  38. I have many clients using the same installation of my software, however, one client is currently getting a 400 Bad Request error when trying to print.

    The XML loads in fine, rendering a proper preview, but executing the print command is a dead end. I have walked through doing a clean install of the latest DLS (8.6.1), but this did not resolve the issue in any browser. The user is running Windows 10 Pro.

    Any ideas or pointers on what I should check?

    • I’m having the same problem with one of our installations. I have two versions of our web application and 1 of them prints just fine, while the other throws a 400 error.

      All seems well and good… StatusConnected, GetPrinters, GetPrinters, then…

      Issues arise as soon as it gets to the “PrintLabel” POST request it fails with a 400 () Error.

      Both working and non-working versions experienced on the exact same PC running the same Dymo Web Service and pulling the exact same latest.js file. from the dymo servers. The only difference might be the actual callback methods used in the initialization and printing of the labels themselves. When copying and pasting the working version to the non-working version. It fails as well. Strange issue that I’ve been unable to pinpoint or diagnose. Spent several days on it with my developer trying to help debug the issue.

      See image screenshot below:
      http://prntscr.com/f5mncx

      • Thanks for sharing. Matthew! This issue is very maddening, to say the least.

        Dymo devs, do you have any idea why this would randomly happen for one machine only?

      • Any fix for this yet? Did you guys find any work around? Any response would be helpful.

        • We have tried and failed to recreate this issue in our lab. So, unfortunately we are unable to diagnose the issue.

  39. ^^ Any thoughts on the issue Matthew and I have noted above? I’m at a dead end with a very frustrated customer.

    • Bryan,

      Can you send over your server logs? Have you tried using a reverse web proxy to capture over the wire communications?

      Jeff

      • Hi Jeff,

        I do not control the server(s) on which this code is ultimately installed and hosted. The mere fact that everything works fine for one person, but not the person sitting next to them is very peculiar.

        What might you be interested in looking at in a server log?

  40. We have written a minimal plugin for WordPress to print single labels on a LW450 (Win 10 PC in the shop). This plugin stopped working about a week ago. We removed all the old DYMO sw and installed the latest label printing app and the latest SDK framework from the PC. Local label prints using the DYMO label app are still OK but printing from a webpage (our plugin) still did not work. There were no printers found on the PC (we have only one).

    Only after fiddling with the DYMO print/XML server via the system tray icon made it work again. What seemed to be an essential step was to check the cerificate. It claimed NOT-save but afrer telling that it was ok to proceed, the green text was displayed. From that moment on the WP plugin worked again.

    Background info: Website is using SSL on a LINUX VPS using the Dymo.Label.2.0.2.js toolkit, Client(s) are W10/Chrome with latest DYMO label SW and SDK.

    Although it all works now, it was quit a struggle and probing to get it working again. We have no idea why it stopped working in the first place; Chrome update? W10 update? Is the SSL website playing a role here?

    Thans for you time.
    Egbert Jan, NL

  41. Thanks Jeff. If I’d known this yesterday, it would have solved me 3 hours at the customers premisses today… I probably gained the same result just for the DYMO localhost cert by giving OK to accept for the localhost webserver. I hope to hear when the real solution is available.

    Apart from this all, I think it is a fantastic idea to use a local XML server to circumvent the npapi shit.
    Egbert Jan

  42. Hi DymoJeff,
    Recently many of our client’s DYMO printers stopped working with the message ‘No DYMO Printers installed’
    This is using .net HTTPS application running on Google Chrome (IE seems to be ok).
    It seems that it might be linked to either automatic Microsoft Windows Updates, or Chrome Updates – not sure.
    Each time this happens, we have to click on DLS web service icon in the system tray, click on Diagnose, and try to connect the web service again. It gives a certificate error and we accept to move on.
    It then seems to work on most computers, but sometimes it doesn’t.
    What are we doing wrong ?
    Any suggestions that are more permanent ?
    Thanks,
    Rajat

  43. I am using the .net SDK for my VB.NET applicaiton. When I try to print a label with a barcode where the barcode value is too big to fit in the barcode, I get the following exception:

    Value cannot be null. Parameter name: bitmapStream

    How can I check the size of a label object on the label template to see if the value will fit? It seems like sometimes it will correctly show ‘Barcode will not fit’ text but other times I get this error..

    • What type of barcode are you trying to create? What value are you using? Did you try the same values in DLS? What other debug information can you provide me?

      • Thanks for the reply. I am using a barcode object, using barcode 128 auto. I get this error when I tried just printing numbers, and also numbers and letter mix. I also tested a label using code 3 of 9 barcode type trying to print a string of numbers, same error. If I expand the barcode object size on the layout to make it wider, the error goes away.

        If I print the same value from DLS, it prints as expected with a “barcode does not fit” in the place of the barcode. I am running 8.5.0.1751

        I am printing from vb.net SDK

  44. Does this work with Window7? I have Windows10 however we are doing development for a Window7 shop. What all is needed to be installed on that box.

  45. Hi,

    i am using the code from: http://www.labelwriter.com/software/dls/sdk/samples/js/PrintTwoLabels/PrintTwoLabels.html.
    When i press the print button i am getting an error: Failed to execute webservice command: 400: Bad Request. I can print from the test site.
    Dev tool before pressing print:
    checkEnvironment > cachedWebPort : 41951 DYMO.Label.Framework.2.0.2.js:106:86
    checkEnvironment > trying async service discovery DYMO.Label.Framework.2.0.2.js:106:86
    _createFramework > return _framework : undefined (async) DYMO.Label.Framework.2.0.2.js:106:86
    onEnvironmentChecked > checkResult isBrowserSupported : true, isFrameworkInstalled: true, isWebServicePresent: true, errorDetails: DYMO.Label.Framework.2.0.2.js:106:86
    chooseEnvironment > WebServicePresent

    After pressing print:

    _createFramework > returning existing instance of _framework, has callBack: false
    _createFramework > returning existing instance of _framework, has callBack: false
    _createFramework > returning existing instance of _framework, has callBack: false

    thanks in advance

  46. Hello,

    I have this problem:
    Service start failed: http could not register URL https://localhost:49151/dymo/dls/printing/.
    Your process does not have access to this namespace (see http://go.microsoft.com/fwlink/?linkld=70353 for details)

  47. User agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
    DYMO framework version 2.0.2
    Checking DYMO framework support:
    Browser: true
    Framework: false
    Web Service: false
    DYMO framework error details: DYMO Label Framework Plugin is not installed

    DYMO framework is NOT supported or no printers were found

    [ERROR] You need to install the DYMO software (v8.5+). Chrome and Edge require v8.5.3 or higher and the DYMO Web Service to be running.

    If DYMO software v8.5+ is already installed, please visit our troubleshooting page at http://support.cellartracker.com/article/8-dymo-installation-and-troubleshooting for additional assistance.

    • Hi Klaas,

      What version of DLS do you have installed? It would be best to install the latest version.

      Ron

      • Dymo Label V 8.6.1.42858.

        I have already removed the software several times; Cleaned the registry, reinstalled different versions but without any result.

        Each time the same error message regarding the Dymo Label Web Service. I cannot start the service either.

      • Hello Ron,

        Could you please reply to my comment. I need my Dymo for my digital postage stamps.

        Best Regards,

        Klaas

  48. Dymo Label V 8.6.1.42858.

    I have already removed the software several times; Cleaned the registry, reinstalled different versions but without any result.

    Each time the same error message regarding the Dymo Label Web Service. I cannot start the service either.

  49. I created a label using the Dymo label software 8.5.1.1816. It has a TEXT field and a GRAPHIC field.

    I have downloaded the SDK and I am running the High level com c# sample. I navigate to the label with the browse button and select it.

    As far as I can tell it is not finding the fields. The call
    // get the objects on the label
    string ObjNames = DymoLabels.GetObjectNames(true);

    is returning an empty string.

    What am I doing wrong?

    • Hi Don,

      I suspect you did not open a label file… one way to do that is to use IDYMOAddIn.Open.

      Hope this helps,

      Ron

      • So this is using the CSHarp sample code provided by Dymo, so if it does not open the file that is a pretty big bug in the sample code.

  50. This is the sample code that Dymo provides.

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using Dymo;

    namespace CSharp_Sample
    {
    ///
    /// Summary description for Form1.
    ///
    public class Form1 : System.Windows.Forms.Form
    {
    public DymoAddInClass DymoAddIn;
    public DymoLabelsClass DymoLabels;

    private System.Windows.Forms.Label label1;
    private System.Windows.Forms.GroupBox groupBox1;
    private System.Windows.Forms.Label label2;
    private System.Windows.Forms.Label label3;
    private System.Windows.Forms.GroupBox groupBox2;
    private System.Windows.Forms.Label label5;
    private System.Windows.Forms.Label label6;
    ///
    /// Required designer variable.
    ///
    private System.ComponentModel.Container components = null;

    private System.Windows.Forms.OpenFileDialog openFileDialog1;
    private System.Windows.Forms.TextBox FileNameEdit;
    private System.Windows.Forms.Button BrowseBtn;
    private System.Windows.Forms.ComboBox ObjectNameCmb;
    private System.Windows.Forms.TextBox ObjectDataEdit;
    private System.Windows.Forms.ComboBox LabelWriterCmb;
    private System.Windows.Forms.ComboBox TrayCmb;
    private System.Windows.Forms.Button PrintLabelBtn;
    private System.Windows.Forms.Button CloseBtn;

    public Form1()
    {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent();

    //
    // TODO: Add any constructor code after InitializeComponent call
    //
    }

    ///
    /// Clean up any resources being used.
    ///
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null)
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    }

    #region Windows Form Designer generated code
    ///
    /// Required method for Designer support – do not modify
    /// the contents of this method with the code editor.
    ///
    private void InitializeComponent()
    {
    this.label1 = new System.Windows.Forms.Label();
    this.FileNameEdit = new System.Windows.Forms.TextBox();
    this.BrowseBtn = new System.Windows.Forms.Button();
    this.groupBox1 = new System.Windows.Forms.GroupBox();
    this.ObjectDataEdit = new System.Windows.Forms.TextBox();
    this.label3 = new System.Windows.Forms.Label();
    this.label2 = new System.Windows.Forms.Label();
    this.ObjectNameCmb = new System.Windows.Forms.ComboBox();
    this.groupBox2 = new System.Windows.Forms.GroupBox();
    this.PrintLabelBtn = new System.Windows.Forms.Button();
    this.TrayCmb = new System.Windows.Forms.ComboBox();
    this.label6 = new System.Windows.Forms.Label();
    this.LabelWriterCmb = new System.Windows.Forms.ComboBox();
    this.label5 = new System.Windows.Forms.Label();
    this.CloseBtn = new System.Windows.Forms.Button();
    this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
    this.groupBox1.SuspendLayout();
    this.groupBox2.SuspendLayout();
    this.SuspendLayout();
    //
    // label1
    //
    this.label1.Location = new System.Drawing.Point(16, 12);
    this.label1.Name = “label1”;
    this.label1.Size = new System.Drawing.Size(316, 16);
    this.label1.TabIndex = 0;
    this.label1.Text = “Select a label file here: (click Browse… to browse to the file)”;
    //
    // FileNameEdit
    //
    this.FileNameEdit.Location = new System.Drawing.Point(16, 32);
    this.FileNameEdit.Name = “FileNameEdit”;
    this.FileNameEdit.ReadOnly = true;
    this.FileNameEdit.Size = new System.Drawing.Size(424, 20);
    this.FileNameEdit.TabIndex = 1;
    this.FileNameEdit.Text = “”;
    //
    // BrowseBtn
    //
    this.BrowseBtn.Location = new System.Drawing.Point(448, 32);
    this.BrowseBtn.Name = “BrowseBtn”;
    this.BrowseBtn.TabIndex = 2;
    this.BrowseBtn.Text = “Browse…”;
    this.BrowseBtn.Click += new System.EventHandler(this.Browse_Click);
    //
    // groupBox1
    //
    this.groupBox1.Controls.Add(this.ObjectDataEdit);
    this.groupBox1.Controls.Add(this.label3);
    this.groupBox1.Controls.Add(this.label2);
    this.groupBox1.Controls.Add(this.ObjectNameCmb);
    this.groupBox1.Location = new System.Drawing.Point(20, 68);
    this.groupBox1.Name = “groupBox1”;
    this.groupBox1.Size = new System.Drawing.Size(508, 148);
    this.groupBox1.TabIndex = 3;
    this.groupBox1.TabStop = false;
    this.groupBox1.Text = “Label Object”;
    //
    // ObjectDataEdit
    //
    this.ObjectDataEdit.Location = new System.Drawing.Point(204, 48);
    this.ObjectDataEdit.Multiline = true;
    this.ObjectDataEdit.Name = “ObjectDataEdit”;
    this.ObjectDataEdit.Size = new System.Drawing.Size(284, 84);
    this.ObjectDataEdit.TabIndex = 3;
    this.ObjectDataEdit.Text = “”;
    this.ObjectDataEdit.Leave += new System.EventHandler(this.ObjectDataEdit_Leave);
    //
    // label3
    //
    this.label3.Location = new System.Drawing.Point(208, 28);
    this.label3.Name = “label3”;
    this.label3.Size = new System.Drawing.Size(188, 16);
    this.label3.TabIndex = 2;
    this.label3.Text = “Set label object data here:”;
    //
    // label2
    //
    this.label2.Location = new System.Drawing.Point(16, 28);
    this.label2.Name = “label2”;
    this.label2.Size = new System.Drawing.Size(172, 16);
    this.label2.TabIndex = 1;
    this.label2.Text = “Select a label object here:”;
    //
    // ObjectNameCmb
    //
    this.ObjectNameCmb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    this.ObjectNameCmb.Location = new System.Drawing.Point(16, 48);
    this.ObjectNameCmb.Name = “ObjectNameCmb”;
    this.ObjectNameCmb.Size = new System.Drawing.Size(172, 21);
    this.ObjectNameCmb.TabIndex = 0;
    //
    // groupBox2
    //
    this.groupBox2.Controls.Add(this.PrintLabelBtn);
    this.groupBox2.Controls.Add(this.TrayCmb);
    this.groupBox2.Controls.Add(this.label6);
    this.groupBox2.Controls.Add(this.LabelWriterCmb);
    this.groupBox2.Controls.Add(this.label5);
    this.groupBox2.Location = new System.Drawing.Point(20, 232);
    this.groupBox2.Name = “groupBox2”;
    this.groupBox2.Size = new System.Drawing.Size(508, 132);
    this.groupBox2.TabIndex = 4;
    this.groupBox2.TabStop = false;
    this.groupBox2.Text = “LabelWriter Selection”;
    //
    // PrintLabelBtn
    //
    this.PrintLabelBtn.Location = new System.Drawing.Point(8, 96);
    this.PrintLabelBtn.Name = “PrintLabelBtn”;
    this.PrintLabelBtn.Size = new System.Drawing.Size(84, 23);
    this.PrintLabelBtn.TabIndex = 4;
    this.PrintLabelBtn.Text = “Print Label”;
    this.PrintLabelBtn.Click += new System.EventHandler(this.PrintLabelBtn_Click);
    //
    // TrayCmb
    //
    this.TrayCmb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    this.TrayCmb.Items.AddRange(new object[] {
    “Left Tray”,
    “Right Tray”,
    “Auto Switch”});
    this.TrayCmb.Location = new System.Drawing.Point(312, 64);
    this.TrayCmb.Name = “TrayCmb”;
    this.TrayCmb.Size = new System.Drawing.Size(128, 21);
    this.TrayCmb.TabIndex = 3;
    //
    // label6
    //
    this.label6.Location = new System.Drawing.Point(308, 24);
    this.label6.Name = “label6”;
    this.label6.Size = new System.Drawing.Size(188, 32);
    this.label6.TabIndex = 2;
    this.label6.Text = “Set tray selection (available only with LabelWriter TWIN TURBO)”;
    //
    // LabelWriterCmb
    //
    this.LabelWriterCmb.Location = new System.Drawing.Point(8, 64);
    this.LabelWriterCmb.Name = “LabelWriterCmb”;
    this.LabelWriterCmb.Size = new System.Drawing.Size(280, 21);
    this.LabelWriterCmb.TabIndex = 1;
    this.LabelWriterCmb.SelectedIndexChanged += new System.EventHandler(this.LabelWriterCmb_SelectedIndexChanged);
    //
    // label5
    //
    this.label5.Location = new System.Drawing.Point(16, 40);
    this.label5.Name = “label5”;
    this.label5.Size = new System.Drawing.Size(156, 16);
    this.label5.TabIndex = 0;
    this.label5.Text = “Select a LabelWriter here:”;
    //
    // CloseBtn
    //
    this.CloseBtn.Location = new System.Drawing.Point(452, 372);
    this.CloseBtn.Name = “CloseBtn”;
    this.CloseBtn.TabIndex = 5;
    this.CloseBtn.Text = “Close”;
    this.CloseBtn.Click += new System.EventHandler(this.CloseBtn_Click);
    //
    // openFileDialog1
    //
    this.openFileDialog1.DefaultExt = “label”;
    this.openFileDialog1.Filter = “DYMO Label File (*.label)|*.label”;
    this.openFileDialog1.Title = “Open DYMO Label File”;
    //
    // Form1
    //
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(540, 402);
    this.Controls.Add(this.CloseBtn);
    this.Controls.Add(this.groupBox2);
    this.Controls.Add(this.groupBox1);
    this.Controls.Add(this.BrowseBtn);
    this.Controls.Add(this.FileNameEdit);
    this.Controls.Add(this.label1);
    this.Name = “Form1”;
    this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
    this.Text = “DYMO SDK C# Sample”;
    this.Load += new System.EventHandler(this.Form1_Load);
    this.Closed += new System.EventHandler(this.Form1_Closed);
    this.groupBox1.ResumeLayout(false);
    this.groupBox2.ResumeLayout(false);
    this.ResumeLayout(false);

    }
    #endregion

    ///
    /// The main entry point for the application.
    ///
    [STAThread]
    static void Main()
    {
    Application.Run(new Form1());
    }

    private void SetupLabelObject()
    {
    // clear edit control
    ObjectDataEdit.Clear();

    // clear all items first
    ObjectNameCmb.Items.Clear();

    // get the objects on the label
    string ObjNames = DymoLabels.GetObjectNames(true);

    // parse the result
    if (ObjNames != null)
    {
    int i = ObjNames.IndexOf(‘|’);
    while (i >= 0)
    {
    ObjectNameCmb.Items.Add(ObjNames.Substring(0, i));
    ObjNames = ObjNames.Remove(0, i + 1);
    i = ObjNames.IndexOf(‘|’);
    }
    if (ObjNames.Length > 0)
    {
    ObjectNameCmb.Items.Add(ObjNames);
    ObjectNameCmb.SelectedIndex = 0;
    }
    }
    }

    private void SetupLabelWriterSelection(bool InitCmb)
    {
    // get the objects on the label
    if (InitCmb)
    {
    // clear all items first
    LabelWriterCmb.Items.Clear();

    string PrtNames = DymoAddIn.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);

    PrtNames = DymoAddIn.GetCurrentPrinterName();
    if (PrtNames != null)
    LabelWriterCmb.SelectedIndex = LabelWriterCmb.Items.IndexOf(PrtNames);
    else
    LabelWriterCmb.SelectedIndex = 0;
    }
    }

    // check if selected/current printer is a twin turbo printer
    TrayCmb.Enabled = DymoAddIn.IsTwinTurboPrinter(LabelWriterCmb.Text);
    if (TrayCmb.Enabled)
    {
    // show the current tray selection if the printer
    // is a twin turbo
    switch (DymoAddIn.GetCurrentPaperTray())
    {
    case 0: // left tray
    TrayCmb.SelectedIndex = 0;
    break;

    case 1: // right tray
    TrayCmb.SelectedIndex = 1;
    break;

    case 2: // auto switch
    TrayCmb.SelectedIndex = 2;
    break;

    default: // tray selection not set, so default to auto switch
    TrayCmb.SelectedIndex = 2;
    break;
    }
    }
    }

    private void Form1_Load(object sender, System.EventArgs e)
    {
    // create DYMO COM objects
    DymoAddIn = new DymoAddInClass();
    DymoLabels = new DymoLabelsClass();

    // show the file name
    FileNameEdit.Text = DymoAddIn.FileName;

    // populate label objects
    SetupLabelObject();

    // obtain the currently selected printer
    SetupLabelWriterSelection(true);
    }

    private void Form1_Closed(object sender, System.EventArgs e)
    {
    // clean up DYMO COM objects
    DymoAddIn = null;
    DymoLabels = null;
    }

    private void Browse_Click(object sender, System.EventArgs e)
    {
    // use the current file name’s folder as the initial
    // directory for the open file dialog
    string str = FileNameEdit.Text;
    int i = str.LastIndexOf(“\\”);
    str = str.Substring(0, i);
    openFileDialog1.InitialDirectory = str;

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    // open user selected label file
    if (DymoAddIn.Open(openFileDialog1.FileName))
    {
    // show the file name
    FileNameEdit.Text = openFileDialog1.FileName;

    // populate label objects
    SetupLabelObject();

    // setup paper tray selection
    SetupLabelWriterSelection(false);
    }
    }
    }

    private void LabelWriterCmb_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    DymoAddIn.SelectPrinter(LabelWriterCmb.Text);
    SetupLabelWriterSelection(false);
    }

    private void PrintLabelBtn_Click(object sender, System.EventArgs e)
    {
    // ATTENTION: This call is very important if you’re making mutiple calls to the Print() or Print2() function!
    // It’s a good idea to always wrap StartPrintJob() and EndPrintJob() around a call to Print() or Print2() function.
    DymoAddIn.StartPrintJob();

    // print two copies
    DymoAddIn.Print2(1, false, TrayCmb.SelectedIndex);

    // ATTENTION: Every StartPrintJob() must have a matching EndPrintJob()
    DymoAddIn.EndPrintJob();
    }

    private void CloseBtn_Click(object sender, System.EventArgs e)
    {
    Close();
    }

    private void ObjectDataEdit_Leave(object sender, System.EventArgs e)
    {
    DymoLabels.SetField(ObjectNameCmb.Text, ObjectDataEdit.Text);
    //DymoLabels.SetImageFile()
    }
    }
    }

  51. Figured it out
    // get the objects on the label
    string ObjNames = DymoLabels.GetObjectNames(true);
    I set the true here to false and everything works as i would expect.

  52. I’m working on my first web application that requires label printing. I’ve just downloaded and installed the DLS8Setup.8.6.2.dmg file. Not sure where to start and whether I need to download another SDK from somewhere etc? Is there a sample web application that I can refer to that handles printing a label? I probably need to know in advance if we can specify the alignment (e.g. centred) and the font/size of the text.

  53. Hi.

    I’m working with a code that is not mine, and I’m having trouble changing the type of barcode (Ean13),
    because when the scanner reads it adds a number at the beginning and at the end, so I want to prove with another type of code, help.

    \
    CÓDIGO DE BARRAS\
    \
    \
    \
    Rotation0\
    False\
    True\
    -1\
    False\
    {{barcode}}\
    Ean13\
    Medium\
    None\
    \
    \
    Full\
    0\
    Center\
    \
    \

    • Hello Francisco,

      The best way to change the barcode type is to load the label into DLS, update the barcode and save the label file for use in your application.

      Ron

  54. Hi,

    I had a web application running successfully for the past one year. Last night there was a windows update(KB4040973 .net framwork 4.7).
    Due this update, when i print a label using my application i get a completely black coloured label. i had to deleted the windows updated to fix this. Is there any other work around? coz these updates are going to come back.

    Thank you

  55. Hi,

    I have downloaded new version and trying to print label from local web page (asp.net page deployed on IIS and client PC has web service installed and enabled). Printing works only from IE, does not work from any other browser. I am not using the async models yet (promise), but per your doc this should be browser agnostic. Here is the code I am using. Please suggest what the issue and fix is. Appreciate your help!

    window.onload = function () {
    startupCode();
    };

    /* access DYMO Label Framework Library */
    function startupCode() {

    var labelUri = “file:///C:/Temp/MSLLabels/Slide.label.txt”;

    printers = dymo.label.framework.getPrinters();
    for (var i = 0; i < printers.length; i++) {
    var printer = printers[i];
    console.log(printer);
    console.log(printer.name);

    var printerName = printer.name;
    var image = document.createElement('img');
    var labelXml = dymo.label.framework.openLabelFile(labelUri).getLabelXml();
    var pngData = dymo.label.framework.renderLabel(labelXml, "", printerName);
    image.src = "data:image/png;base64," + pngData;

    var paramsXml = dymo.label.framework.createLabelWriterPrintParamsXml({ copies: 1 });
    var labelSetXml = new dymo.label.framework.LabelSetBuilder();
    var record = labelSetXml.addRecord();
    record.setText("Address", "Test Address String");
    record.setBase64Image("LBLBARCODE", "112233")

    dymo.label.framework.printLabel(printerName, paramsXml, labelXml, labelSetXml);
    }

    console.log("printing completed");
    }

    function frameworkInitShim() {
    dymo.label.framework.init(startupCode); //init, then invoke a callback
    }

    window.onload = frameworkInitShim;

  56. Hi Ron,

    Yes that worked on Chrome, FF and IE. I will have to test on Edge but I believe it should work as well. So if I replicate what these sample code does, hope it should work for me as well. Thanks for the guidance. Will get back to you if hit the wall again.

    Thank you!
    Sunil

  57. Can’t print from my app or from : http://www.labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html

    DYMO.Label.Framework.2.0.2.js:59 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check https://xhr.spec.whatwg.org/.

  58. For Dutch seel below

    We have a question about something strange happening after using the DYMO com object (dll).

    In some cases with Windows 10 scaling ON (say 150%) after calling (dispatch ) one of these win32com clients, our CRM program (from where out we are calling the dll) is scaled bact to 100%.

    We do either or both:
    fileHandler = win32com.client.Dispatch(“Dymo.DymoAddIn”)
    labelHandler = win32com.client.Dispatch(“Dymo.DymoLabels”)

    And when dispatching something happens with our CRM software: it goes back to 100% scaling BUT this happens ONLY with the DYMO software. We do call other dll’s (like the Word en Outlook com object) but they leave our software alone…

    If you need more data from us or a sample of our CRM software (installer and license) please do contact us: +31 50 78 33333 and ask for AnToine van Maarle

    =============== DUTCH ============

    Ik heb een vraag aan de programmeurs van de DYMO labelsoftware v8 en dan met name betreffende de .dll aanroeping vanuit andere software (de SDK kit).

    Wij hebben namelijk een probleem met printen vanuit Alexion CRM, dat gaat in principe goed maar nadien wordt het CRM programma verkleind. Dit komt alleen voor op grote schermen met hoge resoluties en aangepaste windows schaling…

    Klikken op andere knoppen in de CRM software heeft dit effect namelijk niet, ook al wordt er via com gecommuniceerd met andere programma’s. het is echt heel specifiek de com koppeling met de DYMO software.

    We geven via de com-server de opdracht. Bij elk van onderstaande dispatch commando’s gaat het fout:

    fileHandler = win32com.client.Dispatch(“Dymo.DymoAddIn”)
    labelHandler = win32com.client.Dispatch(“Dymo.DymoLabels”)

    Kunnen jullie aangeven wat jullie software op dat moment doet wat dit zou kunnen veroorzaken?

  59. Hi, we are encountering an issue where there is a delay in printing to the labelwriter printer if the computer doesn’t have access to the Internet. We are using the Dymo JavaScript Framework along with the Dymo Label Web Service. Upon further investigation, we found the Dymo Label Web Service is making a call to the IP address: 128.30.52.100 (www.w3.org). Is there an option to disable this call or an explanation why this is done?

    Thanks,
    Brian

    • This is odd. I can only think it is part of the .NET framework when deserializing XML…

      • Hmm…is there a way around this?

        • I am a little surprised that it happens at all… I did some research and found no way to prevent it, but I found no information about it being called in the first place.

          sorry I cannot be more help on this.

    • Many other users are experiencing the same issue where it seems to be a blocking issue as from April 2018.

      We get a lot of reports with slow printing or not printing at all. Any update about this from the DYMO team?

      See also https://serverfault.com/questions/908989/https-localhost41951-dymo-dls-printing-printlabel-takes-16-seconds

      • Hello Bart,

        We have identified the issue and are currently working on a fix. We will be releasing the fix ASAP.
        Until the actual fix goes out, users can alleviate this slowdown by preventing this call. We have seen success with two methods thus far.

        1: Prevent connections to 128.30.52.100 (hans-moleman.w3.org).
        2: Use the windows defender firewall to prevent DYMO.DLS.Printing.Host.exe from making outbound connections.

        We apologize for the inconvenience, and will update this post as soon as the situation has been resolved.

        Regards,
        Ron

  60. I cannot get Firefox to work with the new SDK. I am using Firefox 59.0.1 and in javascript I try to use the method getPrinters() and the length returned is zero. See code section below.

    // select printer to print on
    // for simplicity sake just use the first LabelWriter printer
    var printers = dymo.label.framework.getPrinters();

    if (printers.length == 0)
    throw “No DYMO printers are installed. Install DYMO printers.”;

  61. Using DLS8Setup.8.7
    ASP.Net application using vb code to print labels
    Windows 10 64 bit, framework 4.6.1
    64 bit Labelwriter drivers installed

    Works fine on my computer. Does NOT work on our server(Windows Server 2016). If I set the application pool to enable 32 Bit, I can get all the way until it is about to print then it crashes because:

    PrintTicket provider failed to bind to printer. Win32 error: -2147467231
    System.Printing.PrintQueueException: PrintTicket provider failed to bind to printer

    It seems to be because you can’t print from a 32bit application on a x64 based version of windows 8+ or windows server 2012

    If i set the application pool to disable 32 Bit, as soon as the program/website starts to load I am presented with:

    Could not load file or assembly ‘DYMO.DLS.Runtime.TS’ or one of its dependencies. An attempt was made to load a program with an incorrect format.

    I had this working on Windows Server 2012 R2. I have references to the following dlls
    DYMO.Common.dll, 8.7 version
    DYMO.DLS.Runtime.dll, 8.7 version
    DYMO.DLS.Runtime.TS.dll, 8.7 version
    DYMO.Label.Framework.dll, 8.7 version
    Interop.Dymo.dll, 1.0 version
    Interop.DYMOLabelFrameworkIEPluginLib.dll, 1.0 version

    I even tried adding a few other references, still no luck.
    MDYMOBarcode.dll, 8.7 version
    npDYMOLabelFramework, 8.7 version

    I can print using your SDK to both label writers without any issues. I have set permissions to mimic my desktop and our other servers(Windows Server 2012 R2). I cannot get this working. Any ideas?

    • Hi Darren,

      The issue you are having is related to Windows Server. We do not support windows server. Is there anyway you can shift the printing to the client side via our Javascript SDK?

      Ron

      • Hi Ron,
        I have it working now and the application pool is set to False for Enabling 32bit Applications. Turns out I needed less references for it to work on Windows 2016 x64 using DLS 8.7.

        References as follows:
        DYMO.Common.dll, 8.7 version
        DYMO.DLS.Runtime.dll, 8.7 version
        DYMO.Label.Framework.dll, 8.7 version
        Interop.Dymo.dll, 1.0 version
        Interop.DYMOLabelFrameworkIEPluginLib.dll, 1.0 version
        npDYMOLabelFramework, 8.7 version

        Hope this helps someone else. Thanks for replying!

  62. Hi, I have a webpage which is using the DYMO framework, and works fine.
    The page is making an AJAX call to the webserver to generate a label and sends back the label XML.
    Problem is, that on my Mac, it takes about 1 sec to start printing; on a Windows10 PC it takes about 18 secs before the printing starts.
    The response from the AJAX call is on both systems the same.
    The Mac and PC are connected to the same network; both with cable.

    Can you help me with some clues why it is taking very long to print on the Windows pc ?

    • Hi Will,

      Is this a new issue or are you in the process of developing a new solution?

      Can you time printing a similar label using DLS on the client machine?

      Regards,
      Ron

    • Hi, we have the same problem in Windows 8. This is a big trouble because we print about 500 labels daily.

      Just a few days ago, everything was fine and nobody changes anything in software.

    • Hi Will,

      We have identified the issue and are currently working on a fix. We will be releasing the fix ASAP.
      Until the actual fix goes out, users can alleviate this slowdown by preventing this call. We have seen success with two methods thus far.

      1: Prevent connections to 128.30.52.100 (hans-moleman.w3.org).
      2: Use the windows defender firewall to prevent DYMO.DLS.Printing.Host.exe from making outbound connections.

      We apologize for the inconvenience, and will update this post as soon as the situation has been resolved.

      Regards,
      Ron

  63. I’m using the web service on a mac to develop new functionality for our business users. The call to PrintLabel is returning true but the printer (LW 450) doesn’t do anything and I don’t see any activity in its print monitor on the Mac.

    The XML being sent in is:

    30327 File Folder
    Landscape

    WorkroomAckNum

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False
    594049-1

    UniqueIdentifier

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False
    584235743 – 5-RR

    ProductMeasurements

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False

    WindowDescription

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False
    Kitchen – Back drivr side

    BrandName

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False
    REDACTED

    CityState

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False
    New York, New York

    OrderDate

    Rotation0
    False
    False
    Left
    Middle
    AlwaysFit
    False
    Feb-2018

  64. I’m working with Windows Forms / C# application.

    How should I (or should not) distribute referenced Dymo.Label.Framework.dll ?

    Or is it supposed that client machine has DLS installed and that’s all required?

    • Hi Timo,

      Having your clients install DLS is the way to go. I would highly recommend testing a client install on one of your machines before having a customer try it!

      Ron

  65. I’m working with MVC application, And I have added the Dymo.label nuget package but when i try to run the application, it shows me below error
    Retrieving the COM class factory for component with CLSID {E8D851FA-9967-4ADF-9644-0183B9B1EA68} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

    And code for printing
    IPrinters printer = Framework.GetPrinters();
    ILabel label = Label.Open(Server.MapPath(“~”) + @”DymoLabel.label”);
    label.SetObjectText(“Text”, “sad”);
    label.Print(printer.First().Name);

    Please suggest what i need to do

    Thanks in Advance

    • Hi Kiran,

      The DYMO Label nuget package that you refer to is not a DYMO product, we do no know who created it. For examples of how to use our SDK, please download our SDK from here:
      http://www.dymo.com/en-US/online-support-sdk

      Ron

      • Hi Ron,

        I want to print the label from MVC.net web application, is there any way to implement the label printing on server side? I mean, printing must be performed on server where application deployed. And from any machine(clients) of the world we can give the print?

        Thanks,
        Kiran

  66. Hi,

    I’ve developed an application using the DYMO.Label.Framework in C#. I’m deploying this as a clickonce app with the DYMOPrinting.dll and PrintingSupportLibrary.dll manually included as content files. The DYMO.Label.Framework.dll gets deployed correctly by reference.

    This is working most of the time but, regretfully, not all the time. One minute the label gets printed correctly, and the next minute there’s a timeout happening. It can go without errors for days and then start acting up.

    This is the error message:

    018-09-25 08:09:52,932 – ERROR – Unable to load label template ‘c:\DymoLabels\ExternBadge.label’

    DYMO.DLS.Runtime.DlsRuntimeException: Unable to load label template ‘c:\DymoLabels\ExternBadge.label’ —> System.Net.WebException: The operation has timed out
    at System.Net.FileWebRequest.GetResponse()
    at DYMO.DLS.Runtime.Label.Load(String uri, IWebProxy webProxy)
    — End of inner exception stack trace —

    Restarting the app seems to fix the problem.

    Any ideas as to what may be the cause of this? Would it be better if I don’t go the framework route but the SDK route?

    Thanks,

    Michiel

    • BTW: the error happens when opening the label with following code: Framework.Open(@”c:\DymoLabels\VisitorBadge.label”);

    • Hello Michiel,

      On the systems that you are having troubles, how is DLS behaving? Are you able to consistently print? I am not sure why your error would reference “ExternBadge.label”, can you track that down?

      Ron

      • Hi Ron,

        I’m not sure what you mean by “how is DLS behaving”. One of the systems giving troubles is a windows 10 tablet that is only used for registering users. During a day, about 10-20 people register and receive a badge.

        Another is a windows 7 touch screen, also mainly used for people to register and receive a badge.

        Both systems randomly throw the error – things can go well for days, printing 30 badges without error, then this error happens. It seems a reboot of the application fixes the problem, but I have not been able to test this enough to be sure.

        The reference to “externbadge.label” is simply because that’s when the error happens, when either of following lines get executed:

        label = Framework.Open(@”c:\DymoLabels\VisitorBadge.label”);
        OR
        label = Framework.Open(@”c:\DymoLabels\ExternBadge.label”);

        Depending on who is registering another badge layout will be selected. In my previous post I mixed the two, sorry for the confusion.

        Can this have anything to do with the issue from april/may this year – the Dymo library tries to validate the label by trying to access an external site – 128.30.52.100 (http://www.w3.org/1998/XMLSchema)?

        This morning it happened again – the application hangs trying to open the label. I restarted the application and everything worked fine again.

        2018-09-26 10:00:12,969 – ERROR – Unable to load label template ‘c:\DymoLabels\ExternBadge.label’

        DYMO.DLS.Runtime.DlsRuntimeException: Unable to load label template ‘c:\DymoLabels\ExternBadge.label’ —> System.Net.WebException: The operation has timed out
        at System.Net.FileWebRequest.GetResponse()
        at DYMO.DLS.Runtime.Label.Load(String uri, IWebProxy webProxy)

        • Hi Michiel,

          This error is quite odd. I have not heard of anything like this before. I doubt this has anything to do with our earlier issue, we no longer hit that website.

          When I asked “how is DLS behaving”, I was trying to determine if the issue is in our code or your code. DLS is the DYMO Label Software application. The application must be installed on all client systems. If the error can be recreated by just using DLS, we will know the issue is in our code.

          Ron

          • Hi Ron,

            Thanks for you quick replies – much appreciated.

            Can this be network related? Does the Dymo library try to hit *a* website anywhere in the process, or is there another form of outgoing connection?

            I’m asking because there are signs that the network might sometimes not connect.

            Also, the DLS is not installed on the client system at this moment – the dll’s get deployed with the clickonce installation of our application. I will look into installing the DLS and see if I can recreate the error.

            Cheers,

            Michiel

          • Hi Ron,

            I’ve re-coded the application, this time following the SDK example, and everything seems to work fine now.

            Regards,

            Michiel

          • Excellent, Great news!

  67. Hi, I Have problem with Dymo printing from C# .NET Console App and WinForms app. I was downloaded DYMO package from Nuget. Then I created label in DYMO Label V.8 software and save it to my WinForms app directory. Then I tried to run this code:

    var label = Label.Open(AppDomain.CurrentDomain.BaseDirectory + “etykieta.label”);
    label.Print(“DYMO LabelWriter 450”);

    But I getting exception:
    BarcodePrinting.exe Error: 0 : 0, 0: Attribute ‘MediaType’ not declared.
    Exception thrown: ‘DYMO.DLS.Runtime.DlsRuntimeException’ in DYMO.DLS.Runtime.dll

    First lines in my label file is:

    Portrait

    And why it’s not working?

  68. Hi everyone,

    Since i’ve installed Windows 10 on my computer, i can’t work with DYMO.Framework.

    I’m using C#, this is my code :

    using DYMO.Label.Framework;

    Printers l_Printers = new Printers();
    IPrinters l_IPrinters = l_Printers;
    IPrinter l_IPrinter_Selected = null;
    foreach (IPrinter l_IPrinter in l_IPrinters)
    {
    a_sPrinterName = l_IPrinter.ModelName;
    a_sPrinterName = l_IPrinter.Name;
    l_IPrinter_Selected = l_IPrinter;
    break;
    }
    return true;

    An error occured when i compile ->

    error CS0246: Type or namespace name ‘DYMO’ was not found (are you missing a using directive or an assembly reference?)

    Can you help me ?

    • Hi Quentin,

      Have you installed DLS on your computer? Are you able to run the sample applications?

      Ron

  69. Hi, is there a way I can print multiple and varying label quantities when inputting data from excel?

    I use the software for inputting cut lists from excel and I would find it very convenient if I could use a quantities column to specify how many of each row of data I would like to print.

    Can anyone help?

  70. Good Evening,
    I have a CRM that i built in ruby on rails, and i have dymo label integrated for direct print to dymo label printers, Everything works wonderfull. But there is one thing under the printXML – ‘see below’, I seam i cant programmatically set the copies of the label that i want printed. Currently setup to print 1 copy at a time. My question is how can i program the “Copies” to a number field in the form that i print from.

    var printXml = ‘\
    \
    \
    Tech Connect RGA Label\
    LeftToRight\
    Auto\
    Left\
    ‘;

  71. Is there a way to get a list of non Dymo printers on the computer via the SDK? I would like to be able show the name and status of the currently selected document printer along with the label printer.

  72. Hello,

    I’ve installed Dymo Connect (which prints fine), Dymo SDK, DLS 8.7.3, and for all I try, I can’t even get the C# samples to compile.
    It’s complaining about DYMO.Label.Framework missing.
    I’ve searched my entire disk for Dymo*.dll and there are many matches, just none that is called Dymo.Label.Framework.

    I’m pretty sure I must be doing something wrong, the samples are vs2010 solutions… Not a good sign.

    I’ve found the Dymo.Label nuget package and I thought alleluia, but if I install that package the C# sample still doesn’t load because of a missing Interop.DYMOPrintingSupportLib.
    I tried to do a blank application with just the nuget package and I can’t even get to load a label (using DYMO.Label.Framework.Framework.Open(@”C:\Temp\” + “Test.dymo”) : I get various XmlSchemaValidationException, or DlsRuntimeException. I tried loading my old labels, new labels created with Dymo Connect, and a new label using Dymo Label v8.
    And now reading the comments I see the Nuget package is not even an official package…..

    Can you guys help ? I have my existing software using old Dymo APIs and now I can’t update it. I feel like Dymo SDK has been completely deprecated…

    Thanks,
    Alex

    • Hi Alex,

      Sorry for all the confusion… The SDK for DYMO Connect won’t be released until November. In the meantime, you will need to install DLS 8.7.3 to get the SDK to function. Please do not use the NUGET package, as it was created by somebody outside of DYMO, it doesn’t work and is not supported.

      Ron

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)