author | Michael Krelin <hacker@klever.net> | 2004-07-05 01:53:09 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2004-07-05 01:53:09 (UTC) |
commit | fb8b43dbce8bc310718614384297aeaabb9a3cbb (patch) (unidiff) | |
tree | af9d2c2b71ddffff93a97a02fe26611096b78645 /install/install.cpp | |
download | bigbrother-fb8b43dbce8bc310718614384297aeaabb9a3cbb.zip bigbrother-fb8b43dbce8bc310718614384297aeaabb9a3cbb.tar.gz bigbrother-fb8b43dbce8bc310718614384297aeaabb9a3cbb.tar.bz2 |
initial commit into svn repository
git-svn-id: http://svn.klever.net/kin/bigbrother/trunk@1 fe716a7a-6dde-0310-88d9-d003556173a8
-rw-r--r-- | install/install.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/install/install.cpp b/install/install.cpp new file mode 100644 index 0000000..0ab8fa9 --- a/dev/null +++ b/install/install.cpp | |||
@@ -0,0 +1,68 @@ | |||
1 | #include "resource.h" | ||
2 | #include "../shared-code/install.h" | ||
3 | |||
4 | #define KINSHORT "BigBro" | ||
5 | #define KINNAME "Big Brother" | ||
6 | #define VERSION "1.5" | ||
7 | |||
8 | BOOL Install(void) | ||
9 | { | ||
10 | STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.",KINSHORT "Path"); | ||
11 | STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.","KINPath"); | ||
12 | LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings"); | ||
13 | STRING path = REQUESTPATH(" " KINNAME " " VERSION,"\nEnter destination path:",qPath); | ||
14 | if(!path) | ||
15 | return NULL; | ||
16 | |||
17 | #ifdefK_ANNED | ||
18 | STRING sysDir(_MAX_PATH); | ||
19 | GetSystemDirectory(sysDir,_MAX_PATH); | ||
20 | INSTALLFILE("mfc42.dl_",sysDir,"mfc42.dll"); | ||
21 | #endif | ||
22 | |||
23 | MAKE_PATH(path); | ||
24 | STRING shortPath = GET_SHORT_PATH(path); | ||
25 | if(!shortPath){ | ||
26 | MessageBox(NULL,"Failed to install " KINNAME " " VERSION " in specified directory",NULL,MB_ICONERROR|MB_OK); | ||
27 | return FALSE; | ||
28 | } | ||
29 | |||
30 | if(!( | ||
31 | INSTALLFILE("bigbro.ex_",path,"bigbro.exe") && | ||
32 | INSTALLFILE("bigbro.hl_",path,"bigbro.hlp") && | ||
33 | INSTALLFILE("bigbro.cn_",path,"bigbro.cnt") | ||
34 | )){ | ||
35 | MessageBox(NULL,"Failed to install " KINNAME " " VERSION " in specified directory",NULL,MB_ICONERROR|MB_OK); | ||
36 | return FALSE; | ||
37 | } | ||
38 | ADDMENU("Accessories\\Klever Co.",KINNAME,path,"bigbro.exe"); | ||
39 | |||
40 | strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.",KINSHORT "Path",path); | ||
41 | strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group, Inc.","KINPath",path); | ||
42 | |||
43 | FILE* inf=CREATE_INF_FILE(path,KINSHORT ".INF"); | ||
44 | if(!inf){ | ||
45 | MessageBox(NULL,"Failed to install " KINNAME " " VERSION,NULL,MB_ICONERROR|MB_OK); | ||
46 | return FALSE; | ||
47 | } | ||
48 | INF_FILE_HEADER(inf); | ||
49 | INF_FILE_SECTION(inf,"Uninstall"); | ||
50 | fprintf(inf,"AddReg=kFiles\nDelReg=kReg\nUpdateInis=kMenu\n"); | ||
51 | INF_FILE_SECTION(inf,"kFiles"); | ||
52 | INF_REMOVE_ROOT(inf,KINSHORT "Files",path); | ||
53 | INF_REMOVE_FILE(inf,KINSHORT "Files","bigbro.exe"); | ||
54 | INF_REMOVE_HELP_FILE(inf,KINSHORT "Files","bigbro"); | ||
55 | INF_REMOVE_FILE(inf,KINSHORT "Files","bigbro.inf"); | ||
56 | INF_FILE_SECTION(inf,"kReg"); | ||
57 | INF_UNINSTALL_REG(inf,KINSHORT); | ||
58 | INF_FILE_SECTION(inf,"kMenu"); | ||
59 | INF_MENU_GROUP(inf,1,"Accessories\\Klever Co."); | ||
60 | INF_MENU_ITEM(inf,1,KINNAME); | ||
61 | fclose(inf); | ||
62 | |||
63 | REG_UNINSTALL_COMMAND(KINSHORT,"Klever " KINNAME " " VERSION,shortPath,KINSHORT".INF","Uninstall"); | ||
64 | |||
65 | MessageBox(NULL,KINNAME" " VERSION " 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 | } | ||