annotate install.js @ 0:c14d52a3b2fe

initial import
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 11 Aug 2008 20:34:21 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
1
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
2 const gName = "TinyUrl Creator";
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
3 const gAuthor = "Jeremy Gillick";
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
4 const gRegKey = "/JeremyGillick/TinyUrl";
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
5 const gVersion = "1.0.5";
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
6 const gJar = "tinyurl.jar";
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
7 const gFolderName = "tinyurl";
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
8
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
9 var error = null;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
10 var oFolder = getFolder("Current User", "chrome");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
11 var iContentFlag = CONTENT | PROFILE_CHROME;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
12
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
13 // Install in App or Profile?
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
14 var existsInApplication = File.exists(getFolder(getFolder("chrome"), gJar));
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
15 var existsInProfile = File.exists(getFolder(oFolder, gJar));
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
16 if(existsInApplication || (!existsInProfile && !confirm("Do you want to install the extension into your profile folder?\n(Cancel will install into the application folder)")))
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
17 {
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
18 iContentFlag = CONTENT | DELAYED_CHROME;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
19 oFolder = getFolder("chrome");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
20 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
21
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
22 // Uninstall Current
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
23 if(existsInApplication || existsInProfile)
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
24 uninstall(gRegKey);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
25
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
26 // Init
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
27 initInstall(gName, gRegKey, gVersion);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
28 setPackageFolder(oFolder);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
29 error = addFile(gAuthor, gVersion, "chrome/"+ gJar, oFolder, null);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
30
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
31 // Register
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
32 if(error == SUCCESS){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
33 registerChrome(iContentFlag, getFolder(oFolder, gJar), "content/");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
34
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
35 error = performInstall(); //Install
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
36
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
37 if(error != SUCCESS && error != 999){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
38 switch(error){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
39 case -215:
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
40 alert("The installation of the extension failed.\nOne of the files being overwritten is read-only.");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
41 break;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
42 case -235:
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
43 alert("The installation of the extension failed.\nThere is insufficient disk space.");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
44 break;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
45 default:
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
46 alert("The installation of the extension failed.\nThe error code is: " + error);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
47 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
48 cancelInstall(error);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
49 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
50 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
51 else{
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
52 alert("The installation failed.\n" + error);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
53 cancelInstall(error);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
54 }