summaryrefslogtreecommitdiffabout
path: root/install/install.cpp
Unidiff
Diffstat (limited to 'install/install.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--install/install.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/install/install.cpp b/install/install.cpp
new file mode 100644
index 0000000..4e518d5
--- a/dev/null
+++ b/install/install.cpp
@@ -0,0 +1,67 @@
1#include "resource.h"
2#include "../shared-code/install.h"
3
4 #defineKINAME "PumpKIN 2.5"
5#define SKINAME "PumpKIN"
6
7BOOL Install(void)
8{
9STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.",SKINAME "Path");
10STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.","KINPath");
11LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings");
12STRING path = REQUESTPATH(" " KINAME,"\nEnter destination path:",qPath);
13 if(!path)
14 return NULL;
15
16 #ifdefK_ANNED
17STRING sysDir(_MAX_PATH);
18 GetSystemDirectory(sysDir,_MAX_PATH);
19 INSTALLFILE("mfc42.dl_",sysDir,"mfc42.dll");
20#endif
21
22 MAKE_PATH(path);
23STRING 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
42FILE* 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_FILE_SECTION(inf,"kReg");
56 INF_UNINSTALL_REG(inf,SKINAME);
57 INF_FILE_SECTION(inf,"kMenu");
58 INF_MENU_GROUP(inf,1,"Accessories\\Klever Co.");
59 INF_MENU_ITEM(inf,1,SKINAME);
60 fclose(inf);
61
62 REG_UNINSTALL_COMMAND(SKINAME,"Klever " KINAME,shortPath,SKINAME ".INF","Uninstall");
63
64 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);
65
66 return TRUE;
67}