1. // this function verifies disk space in kilobytes
2. function verifyDiskSpace(dirPath, spaceRequired)
3. {
4. var spaceAvailable;
5. // Get the available disk space on the given path
6. spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
7. // Convert the available disk space into kilobytes
8. spaceAvailable = parseInt(spaceAvailable / 1024);
9. // do the verification
10. if(spaceAvailable < spaceRequired)
11. {
12. logComment("Insufficient disk space: " + dirPath);
13. logComment(" required : " + spaceRequired + " K");
14. logComment(" available: " + spaceAvailable + " K");
15. return(false);
16. }
17. return(true);
18. }
19. var srDest = 17311;
20. var err = initInstall("Netscape Seamonkey", "Browser", "6.0.0.2000110807");
21. logComment("initInstall: " + err);
22. var communicatorFolder = getFolder("Program");
23. logComment("communicatorFolder: " + communicatorFolder);
24. if (verifyDiskSpace(communicatorFolder, srDest))
25. {
26. err = addDirectory("Program",
27. "6.0.0.2000110807",
28. "bin", // jar source folder
29. communicatorFolder, // target folder
30. "", // target subdir
31. true ); // force flag
32. logComment("addDirectory() returned: " + err);
33. // create the plugins folder next to mozilla
34. var pluginsFolder = getFolder("Plugins");
35. if (!fileExists(pluginsFolder))
36. {
37. var ignoreErr = dirCreate(pluginsFolder);
38. logComment("dirCreate() returned: " + ignoreErr);
39. }
40. else
41. logComment("Plugins folder already exists");
42. var cf = getFolder("Chrome");
43. registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"toolkit.xpi"),"content/global/");
44. registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"browser.xpi"),"content/communicator/");
45. registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"browser.xpi"),"content/editor/");
46. registerChrome(CONTENT | DELAYED_CHROME, getFolder(cf,"browser.xpi"),"content/navigator/");
47. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/communicator/");
48. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/editor/");
49. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/global/");
50. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/messenger/");
51. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/navigator/");
52. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"modern.jar"),"skin/modern/aim/");
53. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/communicator/");
54. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/editor/");
55. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/global/");
56. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/messenger/");
57. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/navigator/");
58. registerChrome(SKIN | DELAYED_CHROME, getFolder(cf,"classic.jar"),"skin/classic/aim/");
59. if (err==SUCCESS)
60. {
61. err = performInstall();
62. logComment("performInstall() returned: " + err);
63. }
64. else
65. {
66. cancelInstall(err);
67. logComment("cancelInstall() due to error: " + err);
68. }
69. }
70. else
71. cancelInstall(INSUFFICIENT_DISK_SPACE);