OSDN Git Service

Beログイン仕様変更に対応
[gikonavigoeson/gikonavi.git] / readme / gikoUSetup.iss
1\8dX\90V\97p\83C\83\93\83X\83g\81[\83\89\82Å\82·\81B
2\92Ê\8fí\82Æ\82Ì\88á\82¢
3\81E\83A\83\93\83C\83\93\83X\83g\81[\83\8b\8fî\95ñ\82ð\8dì\90¬/\8dX\90V\82µ\82Ü\82¹\82ñ
4\81E\83V\83\87\81[\83g\83J\83b\83g\82ð\8dì\90¬\82µ\82Ü\82¹\82ñ
5\81E\83f\83X\83N\83g\83b\83v\82É\82 \82é\8dX\90V\83V\83\87\81[\83g\83J\83b\83g\82ð\8dí\8f\9c\82µ\82Ü\82·\81B
6 [Setup]
7 AppName=\83M\83R\83i\83r
8 AppVerName=\83M\83R\83i\83r
9 AppId=gikoNavi
10 AppMutex=gikoNaviInstance
11 AppPublisherURL=http://gikonavigoeson.sourceforge.jp/
12 AppendDefaultDirName = no
13 ;DefaultDirName={pf}\gikonavi
14 DefaultDirName={code:GetBase}\gikonavi
15 VersionInfoDescription=\83M\83R\83i\83r(\94ð\93ï\8f\8a\94Å)\83Z\83b\83g\83A\83b\83v\83v\83\8d\83O\83\89\83\80
16 DefaultGroupName=\83M\83R\83i\83r
17\8e©\95ª\82Ì\8aÂ\8b«\82É\8d\87\82í\82¹\82Ä\82­\82¾\82³\82¢
18 SourceDir=C:\work\Setup\Release64
19 OutputDir=C:\work\Setup\Output
20 SetupIconFile=C:\work\Setup\GikoSetup.ico
21\83M\83R\83i\83r\82Ì\83o\81[\83W\83\87\83\93\82É\82 \82í\82¹\82Ä\82­\82¾\82³\82¢
22 VersionInfoVersion=1.64.1.820
23 OutputBaseFilename=gikoNavi_b64_820_usetup
24 CreateUninstallRegKey=no
25
26 [Tasks]
27 Name: "startmenuicon"; Description: "\83X\83^\81[\83g\83\81\83j\83\85\81[\82É\93o\98^\82·\82é"; GroupDescription: "\83V\83\87\81[\83g\83J\83b\83g"; Flags:
28 Name: "desktopicon"; Description: "\83f\83X\83N\83g\83b\83v\82É\83V\83\87\81[\83g\83J\83b\83g\82ð\8dì\90¬"; GroupDescription: "\83V\83\87\81[\83g\83J\83b\83g"; Flags:
29
30 [Dirs]
31 Name: "{app}\Log"
32 Name: "{app}\Sound"
33 Name: "{app}\config\Board"
34 Name: "{app}\config\BoardPlugin"
35 Name: "{app}\config\NGwords"
36
37
38 [Files]
39 Source: * ; Destdir: {app} ;Excludes: "gikoNavi.*" ; Flags: ignoreversion ;
40 Source: "gikoNavi.bmp" ; Destdir: {app} ;Permissions: everyone-full; Flags: onlyifdoesntexist
41 Source: "gikoNavi.avi" ; Destdir: {app} ;Permissions: everyone-full; Flags: onlyifdoesntexist
42 Source: "gikoNavi.exe" ; Destdir: {app} ;Permissions: everyone-full; Flags: ignoreversion
43 Source: "Sound\*" ; Destdir: {app}\Sound ;Flags: createallsubdirs recursesubdirs ;
44 Source: "config\*" ; Destdir: {app}\config ;Excludes: "*.dll";Flags: createallsubdirs recursesubdirs ;
45 Source: "config\BoardPlugin\*.dll" ; Destdir: {app}\config\BoardPlugin ;Flags: ignoreversion;
46
47 [Icons]
48 ;Name: "{group}\Readme"; Filename: "{app}\readme.txt"; Tasks: startmenuicon
49 Name: "{group}\Readme_Goeson"; Filename: "{app}\readme_goeson.txt"; Tasks: startmenuicon
50 ;Name: "{group}\\83M\83R\83i\83r"; Filename: "{app}\gikoNavi.exe"; Tasks: startmenuicon
51 ;Name: "{commondesktop}\\83M\83R\83i\83r"; Filename: "{app}\gikoNavi.exe"; Tasks: desktopicon
52
53 [Run]
54 Filename: "{app}\readme.txt"; Description: "README\82ð\95\\8e¦\82·\82é"; Flags: postinstall shellexec skipifsilent unchecked
55 Filename: "{app}\gikoNavi.exe"; Description: "\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8bN\93®\82·\82é"; Flags: postinstall shellexec
56
57 [InstallDelete]
58 Type: files; Name: "{userdesktop}\\83M\83R\83i\83r\8dX\90V.lnk"
59
60 [UninstallDelete]
61 Type: files; Name: "{app}\sent.ini"
62 Type: files; Name: "{app}\url.ini"
63 Type: files; Name: "{app}\Samba.ini"
64 Type: files; Name: "{app}\gikoNavi.ini"
65
66 [Languages]
67 Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
68
69 [Code]
70 function InitializeSetup(): Boolean;
71 var
72   timeout : Integer;
73 begin
74   Result := true;
75   // \83^\83C\83\80\83A\83E\83g\8e\9e\8aÔ1\95ª
76   timeout := 60 * 1000;
77   // \83M\83R\83i\83r\82Ì\8bN\93®\8e\9e\83~\83\85\81[\83e\83b\83N\83X\82ð\83`\83F\83b\83N
78   while CheckForMutexes('gikoNaviInstance') do begin
79     // \8bN\93®\92\86\82È\82Ì\82Å\83X\83\8a\81[\83v
80     // \82Ü\82¸\82Í\81A\83^\83C\83\80\83A\83E\83g\83`\83F\83b\83N
81     if (timeout < 0) then begin
82       // \83^\83C\83\80\83A\83E\83g
83       Result := False;
84       break;
85     end;
86     timeout := timeout - 500;
87     // \83X\83\8a\81[\83v
88     Sleep(500);
89   end;
90   // \83^\83C\83\80\83A\83E\83g\8e\9e\82Í\81A\8eè\93®\82Å\83M\83R\83i\83r\83V\83\83\83b\83g\83_\83E\83\93\82ð\97v\8b\81
91   if not Result Then begin
92     if MsgBox('\83M\83R\83i\83r\82ª\8bN\93®\82µ\82Ä\82¢\82é\82©\81B\8a®\91S\82É\8fI\97¹\82µ\82Ä\82¢\82Ü\82¹\82ñ\81B\83M\83R\83i\83r\82Ì\8fI\97¹\82ð\8am\94F\82µ\82Ä\82­\82¾\82³\82¢\81B'
93               + #10#13 + '\8dX\90V\82ð\91±\8ds\82·\82é\82É\82Í,\81u\82Í\82¢\81v\83{\83^\83\93\82ð\89\9f\82µ\82Ä\82­\82¾\82³\82¢\81B',
94                mbConfirmation, MB_YESNO) = IDYES then begin
95       Result := not CheckForMutexes('gikoNaviInstance');
96       if not Result Then begin
97         MsgBox('\83M\83R\83i\83r\82ª\8bN\93®\82µ\82Ä\82¢\82Ü\82·\81B\83M\83R\83i\83r\8dX\90V\82ð\83L\83\83\83\93\83Z\83\8b\82µ\82Ü\82·\81B'
98           + #10#13 + '\83M\83R\83i\83r\8dX\90V\82Í\81A\83f\83X\83N\83g\83b\83v\82Ì\81u\83M\83R\83i\83r\8dX\90V\81v\83V\83\87\81[\83g\83J\83b\83g\82©\82ç\8dÄ\8bN\93®\82Å\82«\82Ü\82·\81B'
99         , mbError, MB_OK);
100       end;
101     end else begin
102       MsgBox('\83M\83R\83i\83r\8dX\90V\82ð\83L\83\83\83\93\83Z\83\8b\82µ\82Ü\82·\81B'
103           + #10#13 + '\83M\83R\83i\83r\8dX\90V\82Í\81A\83f\83X\83N\83g\83b\83v\82Ì\81u\83M\83R\83i\83r\8dX\90V\81v\83V\83\87\81[\83g\83J\83b\83g\82©\82ç\8dÄ\8bN\93®\82Å\82«\82Ü\82·\81B'
104         , mbError, MB_OK);
105     end;
106   end;
107 end;
108
109 procedure CurStepChanged(CurStep: TSetupStep);
110 var
111   path :String;
112   srcpath: String;
113 begin
114   case CurStep of
115     ssInstall:
116       begin
117         if (RegKeyExists(HKEY_LOCAL_MACHINE,
118             'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\gikoNavi')) then
119           begin
120             if MsgBox('\88È\91O\82Ì\83o\81[\83W\83\87\83\93\82Ì\83A\83\93\83C\83\93\83X\83g\81[\83\8b\8fî\95ñ\82ð\8dí\8f\9c\82µ\82Ä\82æ\82ë\82µ\82¢\82Å\82µ\82å\82¤\82©\81H'
121               + #10#13 + '(\83o\83^56\88È\91O\82©\82ç\82Ì\83A\83b\83v\83f\81[\83g\82Ì\8fê\8d\87\81u\82Í\82¢\81v\90\84\8f§)',
122                mbConfirmation, MB_YESNO) = IDYES then
123               begin
124                   if not RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE,
125                     'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\gikoNavi') then
126                     begin
127                       MsgBox('\83A\83\93\83C\83\93\83X\83g\81[\83\8b\8fî\95ñ\82Ì\8dí\8f\9c\82É\8e¸\94s\82µ\82Ü\82µ\82½\81B', mbError, MB_OK);
128                     end;
129               end;
130           end;
131       end;
132       ssPostInstall:
133       begin
134         path := ExpandConstant('{app}') + '\gikoNavi.ini';
135         srcpath := ExpandConstant('{srcexe}');
136         if (FileExists(path)) then
137         begin
138           SetIniString('Update', 'Remove0', srcpath, path);
139         end;
140       end;
141   end;
142
143 end;
144 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
145 var
146   path :String;
147 begin
148   case CurUninstallStep of
149     usUninstall:
150       begin
151         path := ExpandConstant('{app}') + '\Log';
152         if MsgBox(path + '\83t\83H\83\8b\83_\88È\89º\82ð\8a®\91S\82É\8fÁ\8b\8e\82µ\82Ä\82æ\82ë\82µ\82¢\82Å\82µ\82å\82¤\82©\81H', mbConfirmation, MB_YESNO) = IDYES then
153         begin
154           DelTree(path, True, True, True);
155         end;
156
157         path := ExpandConstant('{app}') + '\config';
158         if MsgBox(path + '\83t\83H\83\8b\83_\88È\89º\82ð\8a®\91S\82É\8fÁ\8b\8e\82µ\82Ä\82æ\82ë\82µ\82¢\82Å\82µ\82å\82¤\82©\81H', mbConfirmation, MB_YESNO) = IDYES then
159         begin
160           DelTree(path, True, True, True);
161         end;
162
163       end;
164     usPostUninstall:
165       begin
166         path := ExpandConstant('{app}');
167
168         MsgBox(path + '\83t\83H\83\8b\83_\88È\89º\82É\81A\8dí\8f\9c\82µ\82«\82ê\82È\82¢\83t\83@\83C\83\8b\82ª\8ec\82Á\82Ä\82¢\82é\8fê\8d\87\82ª\82 \82è\82Ü\82·\81B' #10#13 '\8am\94F\82Ì\82¤\82¦\8eè\93®\82Å\8dí\8f\9c\82µ\82Ä\82­\82¾\82³\82¢\81B',
169           mbInformation, MB_OK);
170       end;
171   end;
172 end;
173 function GetBase(Param: String) : String;
174 begin
175   if (GetWindowsVersion shr 24) < 6 then
176     Result := ExpandConstant('{pf}')
177   else
178     Result := ExpandConstant('{sd}');
179 end;