-rw-r--r-- | install/custom.rch | 10 | ||||
-rw-r--r-- | install/install.cpp | 68 | ||||
-rw-r--r-- | install/install.rc | 182 | ||||
-rw-r--r-- | install/resource.h | 24 |
4 files changed, 284 insertions, 0 deletions
diff --git a/install/custom.rch b/install/custom.rch new file mode 100644 index 0000000..8916c47 --- a/dev/null +++ b/install/custom.rch | |||
@@ -0,0 +1,10 @@ | |||
1 | #ifdefSTATI_K | ||
2 | T42.ex_ rcdata discardable "../releast/T42.ex_" | ||
3 | #else | ||
4 | T42.ex_ rcdata discardable "../release/T42.ex_" | ||
5 | #endif | ||
6 | T42.cn_ rcdata discardable "../release/T42.cn_" | ||
7 | T42.hl_ rcdata discardable "../release/T42.hl_" | ||
8 | #ifdef K_ANNED | ||
9 | mfc42.dl_ rcdata discardable "../redist/mfc42.dl_" | ||
10 | #endif | ||
diff --git a/install/install.cpp b/install/install.cpp new file mode 100644 index 0000000..89eb3fc --- a/dev/null +++ b/install/install.cpp | |||
@@ -0,0 +1,68 @@ | |||
1 | #include "resource.h" | ||
2 | #include "../shared-code/install.h" | ||
3 | |||
4 | #defineKINAME "T42 1.5" | ||
5 | #define SKINAME "T42" | ||
6 | |||
7 | BOOL Install(void) | ||
8 | { | ||
9 | STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.",SKINAME "Path"); | ||
10 | STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.","KINPath"); | ||
11 | LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings"); | ||
12 | STRING path = REQUESTPATH(" " KINAME,"\nEnter destination path:",qPath); | ||
13 | if(!path) | ||
14 | return NULL; | ||
15 | |||
16 | #ifdefK_ANNED | ||
17 | STRING sysDir(_MAX_PATH); | ||
18 | GetSystemDirectory(sysDir,_MAX_PATH); | ||
19 | INSTALLFILE("mfc42.dl_",sysDir,"mfc42.dll"); | ||
20 | #endif | ||
21 | |||
22 | MAKE_PATH(path); | ||
23 | STRING shortPath = GET_SHORT_PATH(path); | ||
24 | if(!shortPath){ | ||
25 | MessageBox(NULL,"Failed to install " KINAME " in specified directory",NULL,MB_ICONERROR|MB_OK); | ||
26 | return FALSE; | ||
27 | } | ||
28 | |||
29 | if(!( | ||
30 | INSTALLFILE(SKINAME ".ex_",path,SKINAME ".exe") && | ||
31 | INSTALLFILE(SKINAME ".hl_",path,SKINAME ".hlp") && | ||
32 | INSTALLFILE(SKINAME ".cn_",path,SKINAME ".cnt") | ||
33 | )){ | ||
34 | MessageBox(NULL,"Failed to install " KINAME " in specified directory",NULL,MB_ICONERROR|MB_OK); | ||
35 | return FALSE; | ||
36 | } | ||
37 | ADDMENU("Accessories\\Klever Co.",SKINAME,path, SKINAME ".exe"); | ||
38 | |||
39 | strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.",SKINAME "Path",path); | ||
40 | strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.","KINPath",path); | ||
41 | |||
42 | FILE* inf=CREATE_INF_FILE(path,SKINAME ".INF"); | ||
43 | if(!inf){ | ||
44 | MessageBox(NULL,"Failed to install " KINAME,NULL,MB_ICONERROR|MB_OK); | ||
45 | return FALSE; | ||
46 | } | ||
47 | INF_FILE_HEADER(inf); | ||
48 | INF_FILE_SECTION(inf,"Uninstall"); | ||
49 | fprintf(inf,"AddReg=kFiles\nDelReg=kReg\nUpdateInis=kMenu\n"); | ||
50 | INF_FILE_SECTION(inf,"kFiles"); | ||
51 | INF_REMOVE_ROOT(inf,SKINAME "Files",shortPath); | ||
52 | INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".exe"); | ||
53 | INF_REMOVE_HELP_FILE(inf,SKINAME "Files",SKINAME); | ||
54 | INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".inf"); | ||
55 | INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".Calls"); | ||
56 | INF_FILE_SECTION(inf,"kReg"); | ||
57 | INF_UNINSTALL_REG(inf,SKINAME); | ||
58 | INF_FILE_SECTION(inf,"kMenu"); | ||
59 | INF_MENU_GROUP(inf,1,"Accessories\\Klever Co."); | ||
60 | INF_MENU_ITEM(inf,1,SKINAME); | ||
61 | fclose(inf); | ||
62 | |||
63 | REG_UNINSTALL_COMMAND(SKINAME,"Klever " KINAME,shortPath,SKINAME ".INF","Uninstall"); | ||
64 | |||
65 | MessageBox(NULL,KINAME " installed successfully, you may now run it from Programs/Accessories/Klever Co. menu or remove it using Control Panel Add/Remove Programs applet."," Rejoice!",MB_ICONINFORMATION|MB_OK); | ||
66 | |||
67 | return TRUE; | ||
68 | } | ||
diff --git a/install/install.rc b/install/install.rc new file mode 100644 index 0000000..a613be0 --- a/dev/null +++ b/install/install.rc | |||
@@ -0,0 +1,182 @@ | |||
1 | //Microsoft Developer Studio generated resource script. | ||
2 | // | ||
3 | #include "resource.h" | ||
4 | |||
5 | #define APSTUDIO_READONLY_SYMBOLS | ||
6 | ///////////////////////////////////////////////////////////////////////////// | ||
7 | // | ||
8 | // Generated from the TEXTINCLUDE 2 resource. | ||
9 | // | ||
10 | #include "afxres.h" | ||
11 | |||
12 | ///////////////////////////////////////////////////////////////////////////// | ||
13 | #undef APSTUDIO_READONLY_SYMBOLS | ||
14 | |||
15 | ///////////////////////////////////////////////////////////////////////////// | ||
16 | // English (U.S.) resources | ||
17 | |||
18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) | ||
19 | #ifdef _WIN32 | ||
20 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US | ||
21 | #pragma code_page(1252) | ||
22 | #endif //_WIN32 | ||
23 | |||
24 | ///////////////////////////////////////////////////////////////////////////// | ||
25 | // | ||
26 | // Dialog | ||
27 | // | ||
28 | |||
29 | #if defined(APSTUDIO_INVOKED) || defined(FALSE) | ||
30 | #if defined(APSTUDIO_INVOKED) | ||
31 | IDD_INSTALLING$(FALSE) DIALOGEX 0, 0, 200, 74 | ||
32 | #else | ||
33 | IDD_INSTALLING DIALOGEX 0, 0, 200, 74 | ||
34 | #endif | ||
35 | STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | ||
36 | FONT 8, "MS Sans Serif", 0, 0, 0x1 | ||
37 | BEGIN | ||
38 | PUSHBUTTON "Cancel",IDCANCEL,143,53,50,14,BS_CENTER | BS_VCENTER | | ||
39 | BS_NOTIFY | BS_FLAT,WS_EX_DLGMODALFRAME | ||
40 | CONTROL "Animate1",IDC_DISKS,"SysAnimate32",ACS_TRANSPARENT | | ||
41 | ACS_AUTOPLAY | WS_TABSTOP,161,7,32,32 | ||
42 | LTEXT "",IDC_STATE,7,7,150,32,SS_NOPREFIX | SS_NOTIFY | ||
43 | CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",0x0,7,45, | ||
44 | 186,7,WS_EX_DLGMODALFRAME | ||
45 | END | ||
46 | #endif | ||
47 | |||
48 | IDD_PATH DIALOGEX 0, 0, 255, 73 | ||
49 | STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | WS_POPUP | | ||
50 | WS_VISIBLE | WS_CAPTION | ||
51 | EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE | ||
52 | FONT 8, "MS Sans Serif", 0, 0, 0x1 | ||
53 | BEGIN | ||
54 | LTEXT "",IDC_PROMPT,7,7,241,30 | ||
55 | EDITTEXT IDC_PATH,7,37,195,12,ES_AUTOHSCROLL | ||
56 | PUSHBUTTON "B&rowse..",IDC_BROWSE,208,37,40,12 | ||
57 | DEFPUSHBUTTON "OK",IDOK,69,52,50,14 | ||
58 | PUSHBUTTON "Cancel",IDCANCEL,135,52,50,14 | ||
59 | END | ||
60 | |||
61 | |||
62 | ///////////////////////////////////////////////////////////////////////////// | ||
63 | // | ||
64 | // DESIGNINFO | ||
65 | // | ||
66 | |||
67 | #ifdef APSTUDIO_INVOKED | ||
68 | GUIDELINES DESIGNINFO DISCARDABLE | ||
69 | BEGIN | ||
70 | "IDD_INSTALLING$(FALSE)", DIALOG | ||
71 | BEGIN | ||
72 | LEFTMARGIN, 7 | ||
73 | RIGHTMARGIN, 193 | ||
74 | TOPMARGIN, 7 | ||
75 | BOTTOMMARGIN, 67 | ||
76 | HORZGUIDE, 39 | ||
77 | END | ||
78 | |||
79 | IDD_PATH, DIALOG | ||
80 | BEGIN | ||
81 | LEFTMARGIN, 7 | ||
82 | RIGHTMARGIN, 248 | ||
83 | VERTGUIDE, 202 | ||
84 | VERTGUIDE, 208 | ||
85 | TOPMARGIN, 7 | ||
86 | BOTTOMMARGIN, 66 | ||
87 | HORZGUIDE, 37 | ||
88 | END | ||
89 | END | ||
90 | #endif // APSTUDIO_INVOKED | ||
91 | |||
92 | |||
93 | #ifdef APSTUDIO_INVOKED | ||
94 | ///////////////////////////////////////////////////////////////////////////// | ||
95 | // | ||
96 | // TEXTINCLUDE | ||
97 | // | ||
98 | |||
99 | 1 TEXTINCLUDE DISCARDABLE | ||
100 | BEGIN | ||
101 | "resource.h\0" | ||
102 | END | ||
103 | |||
104 | 2 TEXTINCLUDE DISCARDABLE | ||
105 | BEGIN | ||
106 | "#include ""afxres.h""\r\n" | ||
107 | "\0" | ||
108 | END | ||
109 | |||
110 | 3 TEXTINCLUDE DISCARDABLE | ||
111 | BEGIN | ||
112 | "#include ""custom.rch""\0" | ||
113 | END | ||
114 | |||
115 | #endif // APSTUDIO_INVOKED | ||
116 | |||
117 | |||
118 | ///////////////////////////////////////////////////////////////////////////// | ||
119 | // | ||
120 | // Icon | ||
121 | // | ||
122 | |||
123 | // Icon with lowest ID value placed first to ensure application icon | ||
124 | // remains consistent on all systems. | ||
125 | IDI_ICON ICON DISCARDABLE "../shared-data/install-icon.ico" | ||
126 | |||
127 | #ifndef _MAC | ||
128 | ///////////////////////////////////////////////////////////////////////////// | ||
129 | // | ||
130 | // Version | ||
131 | // | ||
132 | |||
133 | VS_VERSION_INFO VERSIONINFO | ||
134 | FILEVERSION 1,5,0,0 | ||
135 | PRODUCTVERSION 1,5,0,0 | ||
136 | FILEFLAGSMASK 0x3fL | ||
137 | #ifdef _DEBUG | ||
138 | FILEFLAGS 0x1L | ||
139 | #else | ||
140 | FILEFLAGS 0x0L | ||
141 | #endif | ||
142 | FILEOS 0x40004L | ||
143 | FILETYPE 0x1L | ||
144 | FILESUBTYPE 0x0L | ||
145 | BEGIN | ||
146 | BLOCK "StringFileInfo" | ||
147 | BEGIN | ||
148 | BLOCK "040904b0" | ||
149 | BEGIN | ||
150 | VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0" | ||
151 | VALUE "FileDescription", "INSTALL: T42, unix talk/ntalk implementation\0" | ||
152 | VALUE "FileVersion", "1, 5, 0, 0\0" | ||
153 | VALUE "InternalName", "INSTALL\0" | ||
154 | VALUE "LegalCopyright", "Copyright © 1998, 2002 Klever Group (http://www.klever.net/)\0" | ||
155 | VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0" | ||
156 | VALUE "OriginalFilename", "INSTALL.EXE\0" | ||
157 | VALUE "ProductName", "T42\0" | ||
158 | VALUE "ProductVersion", "1, 5, 0, 0\0" | ||
159 | END | ||
160 | END | ||
161 | BLOCK "VarFileInfo" | ||
162 | BEGIN | ||
163 | VALUE "Translation", 0x409, 1200 | ||
164 | END | ||
165 | END | ||
166 | |||
167 | #endif // !_MAC | ||
168 | |||
169 | #endif // English (U.S.) resources | ||
170 | ///////////////////////////////////////////////////////////////////////////// | ||
171 | |||
172 | |||
173 | |||
174 | #ifndef APSTUDIO_INVOKED | ||
175 | ///////////////////////////////////////////////////////////////////////////// | ||
176 | // | ||
177 | // Generated from the TEXTINCLUDE 3 resource. | ||
178 | // | ||
179 | #include "custom.rch" | ||
180 | ///////////////////////////////////////////////////////////////////////////// | ||
181 | #endif // not APSTUDIO_INVOKED | ||
182 | |||
diff --git a/install/resource.h b/install/resource.h new file mode 100644 index 0000000..ebf7991 --- a/dev/null +++ b/install/resource.h | |||
@@ -0,0 +1,24 @@ | |||
1 | //{{NO_DEPENDENCIES}} | ||
2 | // Microsoft Developer Studio generated include file. | ||
3 | // Used by Install.rc | ||
4 | // | ||
5 | #define IDD_INSTALLING 101 | ||
6 | #define IDD_PATH 102 | ||
7 | #define IDI_ICON 105 | ||
8 | #define IDC_DISKS 1000 | ||
9 | #define IDC_STATE 1001 | ||
10 | #define IDC_PROGRESS 1002 | ||
11 | #define IDC_PROMPT 1003 | ||
12 | #define IDC_PATH 1004 | ||
13 | #define IDC_BROWSE 1005 | ||
14 | |||
15 | // Next default values for new objects | ||
16 | // | ||
17 | #ifdef APSTUDIO_INVOKED | ||
18 | #ifndef APSTUDIO_READONLY_SYMBOLS | ||
19 | #define _APS_NEXT_RESOURCE_VALUE 107 | ||
20 | #define _APS_NEXT_COMMAND_VALUE 40001 | ||
21 | #define _APS_NEXT_CONTROL_VALUE 1006 | ||
22 | #define _APS_NEXT_SYMED_VALUE 101 | ||
23 | #endif | ||
24 | #endif | ||