Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Commit fbc5376

Browse files
committed
update
1 parent 345540b commit fbc5376

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

TinyDRPC.iss

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ OutputBaseFilename=TinyDRPC-setup
3232
Compression=lzma
3333
SolidCompression=yes
3434
WizardStyle=modern
35+
AppMutex=Global\{#MyAppName}
36+
37+
[UninstallDelete]
38+
Type: files; Name: "{app}\TinyDRPC.ini"
3539

3640
[Languages]
3741
Name: "english"; MessagesFile: "compiler:Default.isl"
@@ -54,9 +58,35 @@ Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChang
5458
function InitializeSetup: Boolean;
5559
begin
5660
#ifdef Dependency_Path_NetCoreCheck
57-
Dependency_AddDotNet80;
5861
Dependency_AddDotNet80Desktop;
5962
#endif
6063
6164
Result := True;
65+
end;
66+
67+
function IsAppRunning(const FileName: string): Boolean;
68+
var
69+
FWMIService: Variant;
70+
FSWbemLocator: Variant;
71+
FWbemObjectSet: Variant;
72+
begin
73+
Result := false;
74+
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
75+
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
76+
FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
77+
Result := (FWbemObjectSet.Count > 0);
78+
FWbemObjectSet := Unassigned;
79+
FWMIService := Unassigned;
80+
FSWbemLocator := Unassigned;
81+
end;
82+
83+
function InitializeUninstall(): Boolean;
84+
begin
85+
if IsAppRunning('{#MyAppExeName}') then
86+
begin
87+
MsgBox('The TinyDRPC is currently running. Please close it before continuing.', mbError, MB_OK);
88+
Result := False;
89+
end
90+
else
91+
Result := True;
6292
end;

Utils/Configuration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class Configuration
2727
public class ConfigurationManager
2828
{
2929
private static readonly string ConfigPathName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "TinyDRPC");
30-
private static readonly string ConfigFileName = Path.Combine(ConfigPathName, "TinyDRPC.inf");
30+
private static readonly string ConfigFileName = Path.Combine(ConfigPathName, "TinyDRPC.ini");
3131

3232
public Configuration LoadConfiguration()
3333
{

0 commit comments

Comments
 (0)