?
Solved

Firefox cannot find Dymo components (URGENT)

Posted on 2007-10-12
15
Medium Priority
?
1,193 Views
Last Modified: 2013-12-07
Using Firefox w/WinXP SP2:

Build identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/2007091417 Firefox/2.0.0.7

We are using a Dymo LabelWriter330.  Our web application is designed to use Firefox to print shipping labels for orders drawn from our web site's database.  This was working previously.  The computer used for this job was dying, so we replaced it.  After reinstalling Firefox, the Dymo printer software (7.7.0.8), and the Dymo SDK, I use their .xpi installation to (presumably) install the components.  Firefox returns this:

TypeError: Components.classes['@dymo.com/sdk/nsDymoAddIn;1'] has no properties

I've tried it with nsDymoAddin and nsIDymoAddin.  I've verified that the print capability works from IE.  When I install the xpi, two files are created in Firefox's "components" folder: dymo.dll and IDymo.xpt.  

The urgency is for Monday morning's orders, which will need shipping labels.  I will have access to the equipment during the weekend.  Any ideas or suggestions will be entertained.
0
Comment
Question by:Steve Bink
  • 5
  • 4
  • 4
  • +1
15 Comments
 
LVL 30

Assisted Solution

by:Marc Z
Marc Z earned 450 total points
ID: 20069996
routinet,

When you installed the xpi's, did you turn off any security programs running in the background, like Spysweeper? Before trying to install it? And you did Restart Firefox after install, correct?
0
 
LVL 30

Assisted Solution

by:Marc Z
Marc Z earned 450 total points
ID: 20070021
And you are using a New Profile, correct, not the old one form the old machine, are you?

Can you get the profile from the old machine?
If on a Windows XP machine, should be around here.

C:\Documents and Settings\<Windows login/user name>\Application Data\Mozilla\Firefox\Profiles

0
 
LVL 29

Accepted Solution

by:
Badotz earned 1050 total points
ID: 20070691
What do the Good Folks at Dymo have to say about this?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 30

Assisted Solution

by:Marc Z
Marc Z earned 450 total points
ID: 20070954
Great question Badotz.  From what I have read routinet, this sounds like a bad xpi. It just needs to get cleaned up a bit.  I don't write extensions or else  I would try to help with it, but it does sound like it's Dymo's issue.  

Also, from what I've read, you do have to give the driver some information, so perhaps you will want to talk with the person that got this set up on the old machine.  Something may have changed between versions, if the versions have changed at all.
0
 
LVL 51

Author Comment

by:Steve Bink
ID: 20071302
Badotz: you are on the ball.

I called Dymo support before starting this question, and while the guy on the phone said he couldn't help me (my question was about 3rd-party interaction, not their GUI), he did tell me they've always had problems with interactivity through Firefox.  On his advice, I put in a request to their email tech support, and submitted this question at EE at the same time.  I figured they would not get back to me before Monday, but surprise!  I found their response waiting for me when I got home, including a new xpi.  I will be going into the office shortly to try it out.

mtz1of4: I even uninstalled the anti-virus to make sure nothing interfered.  After the first failure, I backed out the Dymo software/driver installation and McAfee business.  After uninstalling Firefox, I deleted the profile directory and the main install directory.

This does certainly appear to be Dymo's problem, and they appear to be recognizing that.  I'll post an update when I find out more.
0
 
LVL 30

Expert Comment

by:Marc Z
ID: 20071382
Thanks for the update. Let us know how it goes.
0
 
LVL 51

Author Comment

by:Steve Bink
ID: 20071646
Ok guys, the problem has been resolved.  The new xpi did do the job, even if I had to change some of my code to make it work.  The examples from the SDK did not even work without some minor editing, so it looks like they changed some of their infrastructure during the last update.

I do appreciate the responses, and will split the points accordingly.  I'm just happy to have it fixed at this point.  :)

0
 
LVL 29

Expert Comment

by:Badotz
ID: 20071757
No worries - glad to help.
0
 
LVL 30

Expert Comment

by:Marc Z
ID: 20071785
Thanks, routinet.
0
 

Expert Comment

by:Dashteifel
ID: 22399951
I am running into a problem now as well. IE works fine with Dymo, however I can not get FireFox to print labels. Does anyone have some code that works in FF? I would love to look at it.
0
 
LVL 29

Expert Comment

by:Badotz
ID: 22400096
Dashteifel:
Did you not read (or learn) anything from this thread?
0
 
LVL 51

Author Comment

by:Steve Bink
ID: 22400739
@Dashteifel:

The examples from the SDK work very well, once some minor edits are done for path and privilege.  Follow those concepts, and you'll be fine.   I put a section of my working code below for reference.  Mine prints two labels for each address entry.

Also, remember that you need code base privileges set to true.  Browse to about:config and filter for 'codebase'.  Make sure you include the privileges setting shown in the code.  You'll get a warning the first time it runs, but it will run silently after that.  This has to be done on each machine using the print control.

Above all, RTFM on Dymo's SDK.

I'd provide more assistance, but 1) this question is closed (open your own, and other experts can give you further assistance), and 2) I'm packing up my entire house today and plan to be on the road either tonight or tomorrow morning.  Good luck!


<script>
	var arr_addr = Array();
	var arr_list = Array();
	function PrintLabel() {
		var label_addr = "C:\\Documents and Settings\\All Users\\Documents\\" +
			"DYMO Label\\Label Files\\Custom-RetAddr.LWL";
		var label_list = "C:\\Documents and Settings\\All Users\\Documents\\" +
			"DYMO Label\\Label Files\\Custom-SampList.LWL";
		try {
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 
			const DymoAddInCID = "@dymo.com/sdk/nsDymoAddIn;1";
			DymoAddIn = Components.classes[DymoAddInCID].createInstance();
			DymoAddIn = DymoAddIn.QueryInterface(Components.interfaces.nsIDymoAddIn2);
 
			// create and use the nsDymoLabels object
			const DymoLabelsCID = "@dymo.com/sdk/nsDymoLabels;1";
			DymoLabels = Components.classes[DymoLabelsCID].createInstance();
			DymoLabels = DymoLabels.QueryInterface(Components.interfaces.nsIDymoLabels);
			for (x in arr_addr) {
				if (DymoAddIn.Open(label_addr)) {
					DymoLabels.SetAddress(1, arr_addr[x]);
					DymoAddIn.Print(1, true);
				}
				if (DymoAddIn.Open(label_list)) {
					DymoLabels.SetField('ADDRESS', arr_list[x]);
					DymoAddIn.Print(1, true);
				}
			}
		}
		catch (err) {
			alert(err);
			return;
		}
	}
</script>

Open in new window

0
 

Expert Comment

by:Dashteifel
ID: 22401823
Badotz, thanks for the insult! Really helpful?

Routinet,
Thanks for the help, I am opening a new Question because I am running into other issues.
0
 
LVL 29

Expert Comment

by:Badotz
ID: 22401973
Dashteifel:
No worries - glad to help.
0
 
LVL 51

Author Comment

by:Steve Bink
ID: 22402336
Post the link here when you open the new question, and I'll see if I have time to check in.  Got my packing about half done so far.  :)
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
This Micro Tutorial will demonstrate how to add subdomains to your content reports. This can be very importing in having a site with multiple subdomains.
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question