GeckoFX is a component to reduce the complexity of embedding Firefox (XULRunner)onto a Windows Forms application to replace the default WebBrowser control.
But while trying to download a file though it, I have encountered this error :
XML Parsing Error: undefined entity Location: chrome://mozapps/content/downloads/unknownContentType.xul Line Number 30, Column 18: <description>&intro.label;</description
After a lot of googling I have managed to resolve this issue. This is what I have done :
1. Use XULRunner 1.9.0.4 or newer
If you’ve followed some tutorials you may have ended up using 1.9.0.0. Use 1.9.0.4
2. Use the Profile Directory
var profileDirectory = Application.StartupPath + @"\EmbeddedFirefoxProfile"; if (!Directory.Exists(profileDirectory)) { Directory.CreateDirectory(profileDirectory); } Skybound.Gecko.Xpcom.ProfileDirectory = profileDirectory;
3. Copy the chrome folder from the GeckoFX package into the chrome directory of XULRunner.
This will add 2 files to the existing chrome folder.
4. Add a bunch of preferences to greprefs/all.js
pref("browser.download.useDownloadDir", true);
pref("browser.download.folderList", 0);
pref("browser.download.manager.showAlertOnComplete", true);
pref("browser.download.manager.showAlertInterval", 2000);
pref("browser.download.manager.retention", 2);
pref("browser.download.manager.showWhenStarting", true);
pref("browser.download.manager.useWindow", true);
pref("browser.download.manager.closeWhenDone", true);
pref("browser.download.manager.openDelay", 0);
pref("browser.download.manager.focusWhenStarting", false);
pref("browser.download.manager.flashCount", 2);
//
pref("alerts.slideIncrement", 1);
pref("alerts.slideIncrementTime", 10);
pref("alerts.totalOpenTime", 4000);
pref("alerts.height", 50);Conclusion
I hope it works for you. Happy GeckoFX programming!