Skip to content

Commit ff66441

Browse files
authored
Merge pull request #81 from johnolafenwa/johnolafenwa/windows
Johnolafenwa/windows
2 parents e1bfe58 + 6ad9f6a commit ff66441

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+12622
-2
lines changed

.github/workflows/pr_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build and Test PRs on DeepStack Dev Branch
1+
name: DevTest
22
on:
33
push:
44
branches:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ __pycache__/
1010
!windows_packages/*.exe
1111
!redis/*.exe
1212
!interpreter/*.exe
13+
!windows_setup/*.exe
1314

1415
# Distribution / packaging
1516
.Python

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ The World's Leading Cross Platform AI Engine for Edge Devices, with over `3.2 mi
33

44
[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
55
[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](hhttps://github.com/johnolafenwa/DeepStack/blob/dev/LICENSE)
6-
6+
![DevTest](https://github.com/johnolafenwa/DeepStack/workflows/DevTest/badge.svg)
77
**Website**: [https://deepstack.cc](https://deepstack.cc)
88

99
**Documentation**: [https://docs.deepstack.cc](https://docs.deepstack.cc)

windows_setup/Compil32.exe

2.7 MB
Binary file not shown.

windows_setup/Default.isl

Lines changed: 384 additions & 0 deletions
Large diffs are not rendered by default.

windows_setup/Examples/64Bit.iss

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
; -- 64Bit.iss --
2+
; Demonstrates installation of a program built for the x64 (a.k.a. AMD64)
3+
; architecture.
4+
; To successfully run this installation and the program it installs,
5+
; you must have a "x64" edition of Windows.
6+
7+
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
8+
9+
[Setup]
10+
AppName=My Program
11+
AppVersion=1.5
12+
WizardStyle=modern
13+
DefaultDirName={autopf}\My Program
14+
DefaultGroupName=My Program
15+
UninstallDisplayIcon={app}\MyProg.exe
16+
Compression=lzma2
17+
SolidCompression=yes
18+
OutputDir=userdocs:Inno Setup Examples Output
19+
; "ArchitecturesAllowed=x64" specifies that Setup cannot run on
20+
; anything but x64.
21+
ArchitecturesAllowed=x64
22+
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
23+
; done in "64-bit mode" on x64, meaning it should use the native
24+
; 64-bit Program Files directory and the 64-bit view of the registry.
25+
ArchitecturesInstallIn64BitMode=x64
26+
27+
[Files]
28+
Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"
29+
Source: "MyProg.chm"; DestDir: "{app}"
30+
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
31+
32+
[Icons]
33+
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
; -- 64BitThreeArch.iss --
2+
; Demonstrates how to install a program built for three different
3+
; architectures (x86, x64, ARM64) using a single installer.
4+
5+
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
6+
7+
[Setup]
8+
AppName=My Program
9+
AppVersion=1.5
10+
WizardStyle=modern
11+
DefaultDirName={autopf}\My Program
12+
DefaultGroupName=My Program
13+
UninstallDisplayIcon={app}\MyProg.exe
14+
Compression=lzma2
15+
SolidCompression=yes
16+
OutputDir=userdocs:Inno Setup Examples Output
17+
; "ArchitecturesInstallIn64BitMode=x64 arm64" requests that the install
18+
; be done in "64-bit mode" on x64 & ARM64, meaning it should use the
19+
; native 64-bit Program Files directory and the 64-bit view of the
20+
; registry. On all other architectures it will install in "32-bit mode".
21+
ArchitecturesInstallIn64BitMode=x64 arm64
22+
23+
[Files]
24+
; Install MyProg-x64.exe if running on x64, MyProg-ARM64.exe if
25+
; running on ARM64, MyProg.exe otherwise.
26+
; Place all x64 files here
27+
Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: InstallX64
28+
; Place all ARM64 files here, first one should be marked 'solidbreak'
29+
Source: "MyProg-ARM64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: InstallARM64; Flags: solidbreak
30+
; Place all x86 files here, first one should be marked 'solidbreak'
31+
Source: "MyProg.exe"; DestDir: "{app}"; Check: InstallOtherArch; Flags: solidbreak
32+
; Place all common files here, first one should be marked 'solidbreak'
33+
Source: "MyProg.chm"; DestDir: "{app}"; Flags: solidbreak
34+
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
35+
36+
[Icons]
37+
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
38+
39+
[Code]
40+
function InstallX64: Boolean;
41+
begin
42+
Result := Is64BitInstallMode and (ProcessorArchitecture = paX64);
43+
end;
44+
45+
function InstallARM64: Boolean;
46+
begin
47+
Result := Is64BitInstallMode and (ProcessorArchitecture = paARM64);
48+
end;
49+
50+
function InstallOtherArch: Boolean;
51+
begin
52+
Result := not InstallX64 and not InstallARM64;
53+
end;
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
; -- 64BitTwoArch.iss --
2+
; Demonstrates how to install a program built for two different
3+
; architectures (x86 and x64) using a single installer: on a "x86"
4+
; edition of Windows the x86 version of the program will be
5+
; installed but on a "x64" edition of Windows the x64 version will
6+
; be installed.
7+
8+
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
9+
10+
[Setup]
11+
AppName=My Program
12+
AppVersion=1.5
13+
DefaultDirName={autopf}\My Program
14+
DefaultGroupName=My Program
15+
UninstallDisplayIcon={app}\MyProg.exe
16+
WizardStyle=modern
17+
Compression=lzma2
18+
SolidCompression=yes
19+
OutputDir=userdocs:Inno Setup Examples Output
20+
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
21+
; done in "64-bit mode" on x64, meaning it should use the native
22+
; 64-bit Program Files directory and the 64-bit view of the registry.
23+
; On all other architectures it will install in "32-bit mode".
24+
ArchitecturesInstallIn64BitMode=x64
25+
; Note: We don't set ProcessorsAllowed because we want this
26+
; installation to run on all architectures (including Itanium,
27+
; since it's capable of running 32-bit code too).
28+
29+
[Files]
30+
; Install MyProg-x64.exe if running in 64-bit mode (x64; see above),
31+
; MyProg.exe otherwise.
32+
; Place all x64 files here
33+
Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: Is64BitInstallMode
34+
; Place all x86 files here, first one should be marked 'solidbreak'
35+
Source: "MyProg.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode; Flags: solidbreak
36+
; Place all common files here, first one should be marked 'solidbreak'
37+
Source: "MyProg.chm"; DestDir: "{app}"; Flags: solidbreak
38+
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
39+
40+
[Icons]
41+
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
; -- AllPagesExample.iss --
2+
; Same as Example1.iss, but shows all the wizard pages Setup may potentially display
3+
4+
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
5+
6+
[Setup]
7+
AppName=My Program
8+
AppVersion=1.5
9+
WizardStyle=modern
10+
DefaultDirName={autopf}\My Program
11+
DefaultGroupName=My Program
12+
UninstallDisplayIcon={app}\MyProg.exe
13+
Compression=lzma2
14+
SolidCompression=yes
15+
OutputDir=userdocs:Inno Setup Examples Output
16+
17+
DisableWelcomePage=no
18+
LicenseFile=license.txt
19+
#define Password 'password'
20+
Password={#Password}
21+
InfoBeforeFile=readme.txt
22+
UserInfoPage=yes
23+
PrivilegesRequired=lowest
24+
DisableDirPage=no
25+
DisableProgramGroupPage=no
26+
InfoAfterFile=readme.txt
27+
28+
[Files]
29+
Source: "MyProg.exe"; DestDir: "{app}"
30+
Source: "MyProg.chm"; DestDir: "{app}"
31+
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
32+
33+
[Icons]
34+
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
35+
36+
[Components]
37+
Name: "component"; Description: "Component";
38+
39+
[Tasks]
40+
Name: "task"; Description: "Task";
41+
42+
[Code]
43+
var
44+
OutputProgressWizardPage: TOutputProgressWizardPage;
45+
OutputProgressWizardPageAfterID: Integer;
46+
47+
procedure InitializeWizard;
48+
var
49+
InputQueryWizardPage: TInputQueryWizardPage;
50+
InputOptionWizardPage: TInputOptionWizardPage;
51+
InputDirWizardPage: TInputDirWizardPage;
52+
InputFileWizardPage: TInputFileWizardPage;
53+
OutputMsgWizardPage: TOutputMsgWizardPage;
54+
OutputMsgMemoWizardPage: TOutputMsgMemoWizardPage;
55+
AfterID: Integer;
56+
begin
57+
WizardForm.PasswordEdit.Text := '{#Password}';
58+
59+
AfterID := wpSelectTasks;
60+
61+
AfterID := CreateCustomPage(AfterID, 'CreateCustomPage', 'ADescription').ID;
62+
63+
InputQueryWizardPage := CreateInputQueryPage(AfterID, 'CreateInputQueryPage', 'ADescription', 'ASubCaption');
64+
InputQueryWizardPage.Add('&APrompt:', False);
65+
AfterID := InputQueryWizardPage.ID;
66+
67+
InputOptionWizardPage := CreateInputOptionPage(AfterID, 'CreateInputOptionPage', 'ADescription', 'ASubCaption', False, False);
68+
InputOptionWizardPage.Add('&AOption');
69+
AfterID := InputOptionWizardPage.ID;
70+
71+
InputDirWizardPage := CreateInputDirPage(AfterID, 'CreateInputDirPage', 'ADescription', 'ASubCaption', False, 'ANewFolderName');
72+
InputDirWizardPage.Add('&APrompt:');
73+
InputDirWizardPage.Values[0] := 'C:\';
74+
AfterID := InputDirWizardPage.ID;
75+
76+
InputFileWizardPage := CreateInputFilePage(AfterID, 'CreateInputFilePage', 'ADescription', 'ASubCaption');
77+
InputFileWizardPage.Add('&APrompt:', 'Executable files|*.exe|All files|*.*', '.exe');
78+
AfterID := InputFileWizardPage.ID;
79+
80+
OutputMsgWizardPage := CreateOutputMsgPage(AfterID, 'CreateOutputMsgPage', 'ADescription', 'AMsg');
81+
AfterID := OutputMsgWizardPage.ID;
82+
83+
OutputMsgMemoWizardPage := CreateOutputMsgMemoPage(AfterID, 'CreateOutputMsgMemoPage', 'ADescription', 'ASubCaption', 'AMsg');
84+
AfterID := OutputMsgMemoWizardPage.ID;
85+
86+
OutputProgressWizardPage := CreateOutputProgressPage('CreateOutputProgressPage', 'ADescription');
87+
OutputProgressWizardPageAfterID := AfterID;
88+
89+
{ See CodeDownloadFiles.iss for a CreateDownloadPage example }
90+
end;
91+
92+
function NextButtonClick(CurPageID: Integer): Boolean;
93+
var
94+
Position, Max: Integer;
95+
begin
96+
if CurPageID = OutputProgressWizardPageAfterID then begin
97+
try
98+
Max := 25;
99+
for Position := 0 to Max do begin
100+
OutputProgressWizardPage.SetProgress(Position, Max);
101+
if Position = 0 then
102+
OutputProgressWizardPage.Show;
103+
Sleep(2000 div Max);
104+
end;
105+
finally
106+
OutputProgressWizardPage.Hide;
107+
end;
108+
end;
109+
Result := True;
110+
end;
111+
112+
function PrepareToInstall(var NeedsRestart: Boolean): String;
113+
begin
114+
if SuppressibleMsgBox('Do you want to stop Setup at the Preparing To Install wizard page?', mbConfirmation, MB_YESNO, IDNO) = IDYES then
115+
Result := 'Stopped by user';
116+
end;

0 commit comments

Comments
 (0)