OSDN Git Service

1.59.0.777
[gikonavigoeson/gikonavi.git] / readme / gikoUSetup.iss
index ed18a45..0efc41b 100644 (file)
@@ -7,7 +7,7 @@
 AppName=\83M\83R\83i\83r
 AppVerName=\83M\83R\83i\83r
 AppId=gikoNavi
-AppMutex=http://gikonavi.sourceforge.jp/gikonavi/mutex
+AppMutex=gikoNaviInstance
 AppPublisherURL=http://gikonavi.sourceforge.jp/
 AppendDefaultDirName = no
 DefaultDirName={pf}\gikonavi
@@ -18,8 +18,8 @@ SourceDir=G:\Release
 OutputDir=G:\InnoSetup\Output
 SetupIconFile="G:\gikoNaviSFX_102\MainIcon.ico"
 ; \83M\83R\83i\83r\82Ì\83o\81[\83W\83\87\83\93\82É\82 \82í\82¹\82Ä\82­\82¾\82³\82¢
-VersionInfoVersion=1.59.0.769
-OutputBaseFilename=gikoNavi_b59_769_usetup
+VersionInfoVersion=1.59.0.777
+OutputBaseFilename=gikoNavi_b59_777_usetup
 CreateUninstallRegKey=no
 
 [Tasks]
@@ -63,6 +63,44 @@ Type: files; Name: "{app}\gikoNavi.ini"
 Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
 
 [Code]
+function InitializeSetup(): Boolean;
+var
+  timeout : Integer;
+begin
+  Result := true;
+  // \83^\83C\83\80\83A\83E\83g\8e\9e\8aÔ1\95ª
+  timeout := 60 * 1000;
+  // \83M\83R\83i\83r\82Ì\8bN\93®\8e\9e\83~\83\85\81[\83e\83b\83N\83X\82ð\83`\83F\83b\83N
+  while CheckForMutexes('gikoNaviInstance') do begin
+    // \8bN\93®\92\86\82È\82Ì\82Å\83X\83\8a\81[\83v
+    // \82Ü\82¸\82Í\81A\83^\83C\83\80\83A\83E\83g\83`\83F\83b\83N
+    if (timeout < 0) then begin
+      // \83^\83C\83\80\83A\83E\83g
+      Result := False;
+      break;
+    end;
+    timeout := timeout - 500;
+    // \83X\83\8a\81[\83v
+    Sleep(500);
+  end;
+  // \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
+  if not Result Then begin
+    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'
+              + #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',
+               mbConfirmation, MB_YESNO) = IDYES then begin
+      Result := not CheckForMutexes('gikoNaviInstance');
+      if not Result Then begin
+        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'
+          + #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'
+        , mbError, MB_OK);
+      end;
+    end else begin
+      MsgBox('\83M\83R\83i\83r\8dX\90V\82ð\83L\83\83\83\93\83Z\83\8b\82µ\82Ü\82·\81B'
+          + #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'
+        , mbError, MB_OK);
+    end;
+  end;
+end;
 
 procedure CurStepChanged(CurStep: TSetupStep);
 begin