This commit is contained in:
2021-12-02 18:11:46 +00:00
parent e6ec151bc2
commit eb06716575
6 changed files with 166 additions and 79 deletions

117
build-release.bat Normal file
View File

@@ -0,0 +1,117 @@
set m=Unknown error
@echo ****************** CLEAN CLIENT/DOCS OUTPUT FOLDERS **********
rmdir c:\data\code\raven\server\AyaNova\wwwroot /s/q
mkdir c:\data\code\raven\server\AyaNova\wwwroot
@echo ******************** BUILD DOCS ******************************
cd c:\data\code\raven\docs\8.0\ayanova
mkdocs build
IF %ERRORLEVEL% NEQ 0 (
set m=DOCS FAILED TO BUILD
goto FAIL
)
@echo ******************** BUILD CLIENT ****************************
cd c:\data\code\raven-client\ayanova
call npm run build
IF %ERRORLEVEL% NEQ 0 (
set m=CLIENT FAILED TO BUILD
goto FAIL
)
xcopy c:\data\code\raven-client\ayanova\dist\* C:\data\code\raven\server\AyaNova\wwwroot\ /e
IF %ERRORLEVEL% NEQ 0 (
set m=CLIENT FAILED TO COPY
goto FAIL
)
@echo ******************** BUILD LINUX DOCKER **********************
rmdir C:\data\code\raven\dist\docker\linux-x64\ayanovadocker\files /s/q
mkdir C:\data\code\raven\dist\docker\linux-x64\ayanovadocker\files
cd C:\data\code\raven\server\AyaNova\
dotnet publish -o C:\data\code\raven\dist\docker\linux-x64\ayanovadocker\files\ -c Release -r linux-x64 --no-self-contained
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD LINUX DOCKER FAILED
goto FAIL
)
@echo ************** BUILD WINDOWS STANDALONE SERVER ***********************
rmdir C:\data\code\raven\dist\win-x64\ayanova\standalone /s/q
mkdir C:\data\code\raven\dist\win-x64\ayanova\standalone
cd C:\data\code\raven\server\AyaNova\
dotnet publish -c Release -o C:\data\code\raven\dist\win-x64\ayanova\standalone\ -r win-x64 --self-contained
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD WINDOWS STANDALONE FAILED
goto FAIL
)
@echo ******** BUILD WINDOWS FRAMEWORK-DEPENDENT SERVER ************
rmdir C:\data\code\raven\dist\win-x64\ayanova\framework-dependent /s/q
mkdir C:\data\code\raven\dist\win-x64\ayanova\framework-dependent
cd C:\data\code\raven\server\AyaNova\
dotnet publish -c Release -o C:\data\code\raven\dist\win-x64\ayanova\framework-dependent\ -r win-x64 --no-self-contained
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD WINDOWS FRAMEWORK-DEPENDENT FAILED
goto FAIL
)
@echo ******************** BUILD LAUNCHER **************************
rmdir C:\data\code\raven\dist\win-x64\launcher /s/q
mkdir C:\data\code\raven\dist\win-x64\launcher
cd C:\data\code\raven-launcher\
dotnet publish -c Release -o C:\data\code\raven\dist\win-x64\launcher\ -r win-x64 --self-contained
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD LAUNCHER FAILED
goto FAIL
)
@echo ************* BUILD STANDALONE INSTALLER *********************
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" C:\data\code\raven\dist\install\windows\x64\standalone.iss
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD STANDALONE INSTALLER FAILED
goto FAIL
)
@echo ************* BUILD LAN INSTALLER *********************
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" C:\data\code\raven\dist\install\windows\x64\lan.iss
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD LAN INSTALLER FAILED
goto FAIL
)
@echo ************* BUILD IIS INSTALLER *********************
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" C:\data\code\raven\dist\install\windows\x64\iis.iss
IF %ERRORLEVEL% NEQ 0 (
set m=BUILD IIS INSTALLER FAILED
goto FAIL
)
::Completed processing without error
goto OK
::------------------------
:FAIL
echo.
echo.
echo.
echo.
echo.
echo Error:
echo %m%
pause
goto DONE
::------------------------
:OK
echo.
echo.
echo.
echo.
echo.
@echo Completed without error
pause
:DONE

View File

@@ -1,11 +1,18 @@
@echo **************************************************************
@echo ******************** BUILD SERVER ****************************
@echo ************** BUILD STANDALONE SERVER ***********************
@echo **************************************************************
rmdir C:\data\code\raven\dist\win-x64\ayanova /s/q
mkdir C:\data\code\raven\dist\win-x64\ayanova
rmdir C:\data\code\raven\dist\win-x64\ayanova\standalone /s/q
mkdir C:\data\code\raven\dist\win-x64\ayanova\standalone
cd C:\data\code\raven\server\AyaNova\
dotnet publish -c Release -o C:\data\code\raven\dist\win-x64\ayanova\ -r win-x64 --self-contained
dotnet publish -c Release -o C:\data\code\raven\dist\win-x64\ayanova\standalone\ -r win-x64 --self-contained
@echo **************************************************************
@echo ************** BUILD FRAMEWORK-DEPENDENT SERVER ***********************
@echo **************************************************************
rmdir C:\data\code\raven\dist\win-x64\ayanova\framework-dependent /s/q
mkdir C:\data\code\raven\dist\win-x64\ayanova\framework-dependent
cd C:\data\code\raven\server\AyaNova\
dotnet publish -c Release -o C:\data\code\raven\dist\win-x64\ayanova\framework-dependent\ -r win-x64 --no-self-contained
@echo **************************************************************

8
dist/assets/lan-install-config.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"AYANOVA_USE_URLS": "http://*:7575",
"AYANOVA_DB_CONNECTION":"Server=localhost;Username=postgres;Password=mypasswordforpostgres;Database=AyaNova;",
"AYANOVA_DEFAULT_TRANSLATION":"en",
"AYANOVA_BACKUP_PG_DUMP_PATH":"postgres\\bin\\",
"AYANOVA_DATA_PATH":"%ProgramData%\\ayanova",
"AYANOVA_LOG_LEVEL": "Info"
}

View File

@@ -1,12 +1,9 @@
; Basic preconfigured ayanova installer for super easy config
; single user or lan only, built in postgres
; external to lan requires different config
; IIS install for internal / external use
#define MyAppName "AyaNova"
#define MyAppVersion "8.0.0-beta.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppExeName "AyaNova.exe"
#define MyAppLauncherExeName "ayanova-launcher.exe"
@@ -24,10 +21,8 @@ AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\ayanova
DisableProgramGroupPage=yes
LicenseFile=C:\data\code\raven\dist\assets\license.rtf
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=C:\data\code\raven\dist\install\windows-pg-standalone\output
OutputBaseFilename=ayanova-single-setup
OutputDir=C:\data\code\raven\dist\install\windows\x64\output
OutputBaseFilename=ayanova-iis-setup
SetupIconFile=C:\data\code\raven\graphics\logo.ico
Compression=lzma
SolidCompression=yes
@@ -35,22 +30,13 @@ WizardStyle=modern
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
;[Languages]
;Name: "english"; MessagesFile: "compiler:Default.isl"
;Name: "french"; MessagesFile: "compiler:Languages\French.isl"
;Name: "german"; MessagesFile: "compiler:Languages\German.isl"
;Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\data\code\raven\dist\win-x64\ayanova\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\data\code\raven\dist\win-x64\ayanova\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\launcher\config.json"; DestDir: "{app}"; Flags: ignoreversion confirmoverwrite
Source: "C:\data\code\raven\dist\win-x64\launcher\*"; DestDir: "{app}\launcher"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\postgres\*"; DestDir: "{app}\local-postgres"; Permissions: users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\data\database\*"; DestDir: "{commonappdata}\ayanova\database"; Permissions: users-modify; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\ayanova\framework-dependent\*"; DestDir: "{app}";Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\assets\lan-install-config.json"; DestDir: "{app}"; Flags: ignoreversion confirmoverwrite
[Dirs]
Name: "{app}\.local-chromium";Permissions: users-modify;Flags: uninsalwaysuninstall
@@ -62,23 +48,20 @@ Name: "{commonappdata}\ayanova\logs";Permissions: users-modify;
Type: filesandordirs; Name: "{app}\.local-chromium\*"
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\{#MyAppLauncherExeName}";
;IconFilename: "{app}\logo.ico"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\launcher\{#MyAppLauncherExeName}"; Tasks: desktopicon
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe";
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe"; Tasks: desktopicon
[Run]
Filename: "{app}\launcher\{#MyAppLauncherExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\launcher\ayanova-launcher.exe"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
if MsgBox('Do you want to delete the AyaNova database?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
//this is the msg that will display after uninstall,change is as you prefer
if MsgBox('Do you want to delete all AyaNova database and attachment files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
begin
if MsgBox('Are you sure you want to **PERMANENTLY** delete the database files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
//this is the msg that will display after uninstall,change is as you prefer
if MsgBox('Are you sure you want to **PERMANENTLY** delete all AyaNova database and attachment files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
begin
DelTree(ExpandConstant('{commonappdata}\ayanova'), True, True, True);
end;

View File

@@ -1,12 +1,9 @@
; Basic preconfigured ayanova installer for super easy config
; single user or lan only, built in postgres
; external to lan requires different config
; LAN install for internal network use only
#define MyAppName "AyaNova"
#define MyAppVersion "8.0.0-beta.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppExeName "AyaNova.exe"
#define MyAppLauncherExeName "ayanova-launcher.exe"
@@ -24,10 +21,8 @@ AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\ayanova
DisableProgramGroupPage=yes
LicenseFile=C:\data\code\raven\dist\assets\license.rtf
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=C:\data\code\raven\dist\install\windows-pg-standalone\output
OutputBaseFilename=ayanova-single-setup
OutputDir=C:\data\code\raven\dist\install\windows\x64\output
OutputBaseFilename=ayanova-lan-setup
SetupIconFile=C:\data\code\raven\graphics\logo.ico
Compression=lzma
SolidCompression=yes
@@ -35,22 +30,13 @@ WizardStyle=modern
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
;[Languages]
;Name: "english"; MessagesFile: "compiler:Default.isl"
;Name: "french"; MessagesFile: "compiler:Languages\French.isl"
;Name: "german"; MessagesFile: "compiler:Languages\German.isl"
;Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\data\code\raven\dist\win-x64\ayanova\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\data\code\raven\dist\win-x64\ayanova\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\launcher\config.json"; DestDir: "{app}"; Flags: ignoreversion confirmoverwrite
Source: "C:\data\code\raven\dist\win-x64\launcher\*"; DestDir: "{app}\launcher"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\postgres\*"; DestDir: "{app}\local-postgres"; Permissions: users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\data\database\*"; DestDir: "{commonappdata}\ayanova\database"; Permissions: users-modify; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\ayanova\framework-dependent\*"; DestDir: "{app}";Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\assets\lan-install-config.json"; DestDir: "{app}"; Flags: ignoreversion confirmoverwrite
[Dirs]
Name: "{app}\.local-chromium";Permissions: users-modify;Flags: uninsalwaysuninstall
@@ -62,23 +48,20 @@ Name: "{commonappdata}\ayanova\logs";Permissions: users-modify;
Type: filesandordirs; Name: "{app}\.local-chromium\*"
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\{#MyAppLauncherExeName}";
;IconFilename: "{app}\logo.ico"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\launcher\{#MyAppLauncherExeName}"; Tasks: desktopicon
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe";
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe"; Tasks: desktopicon
[Run]
Filename: "{app}\launcher\{#MyAppLauncherExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\launcher\ayanova-launcher.exe"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
if MsgBox('Do you want to delete the AyaNova database?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
//this is the msg that will display after uninstall,change is as you prefer
if MsgBox('Do you want to delete all AyaNova database and attachment files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
begin
if MsgBox('Are you sure you want to **PERMANENTLY** delete the database files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
//this is the msg that will display after uninstall,change is as you prefer
if MsgBox('Are you sure you want to **PERMANENTLY** delete all AyaNova database and attachment files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
begin
DelTree(ExpandConstant('{commonappdata}\ayanova'), True, True, True);
end;

View File

@@ -6,7 +6,6 @@
#define MyAppVersion "8.0.0-beta.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppExeName "AyaNova.exe"
#define MyAppLauncherExeName "ayanova-launcher.exe"
@@ -24,9 +23,7 @@ AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\ayanova
DisableProgramGroupPage=yes
LicenseFile=C:\data\code\raven\dist\assets\license.rtf
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=C:\data\code\raven\dist\install\windows-pg-standalone\output
OutputDir=C:\data\code\raven\dist\install\windows\x64\output
OutputBaseFilename=ayanova-single-setup
SetupIconFile=C:\data\code\raven\graphics\logo.ico
Compression=lzma
@@ -35,22 +32,17 @@ WizardStyle=modern
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
;[Languages]
;Name: "english"; MessagesFile: "compiler:Default.isl"
;Name: "french"; MessagesFile: "compiler:Languages\French.isl"
;Name: "german"; MessagesFile: "compiler:Languages\German.isl"
;Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\data\code\raven\dist\win-x64\ayanova\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\data\code\raven\dist\win-x64\ayanova\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\ayanova\standalone\AyaNova.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\data\code\raven\dist\win-x64\ayanova\standalone\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\launcher\config.json"; DestDir: "{app}"; Flags: ignoreversion confirmoverwrite
Source: "C:\data\code\raven\dist\win-x64\launcher\*"; DestDir: "{app}\launcher"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\postgres\*"; DestDir: "{app}\local-postgres"; Permissions: users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\data\database\*"; DestDir: "{commonappdata}\ayanova\database"; Permissions: users-modify; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\postgres-standalone\*"; DestDir: "{app}\local-postgres"; Permissions: users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\data\code\raven\dist\win-x64\postgres-empty-database\*"; DestDir: "{commonappdata}\ayanova\database"; Permissions: users-modify; Flags: ignoreversion recursesubdirs createallsubdirs
[Dirs]
Name: "{app}\.local-chromium";Permissions: users-modify;Flags: uninsalwaysuninstall
@@ -62,23 +54,20 @@ Name: "{commonappdata}\ayanova\logs";Permissions: users-modify;
Type: filesandordirs; Name: "{app}\.local-chromium\*"
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\{#MyAppLauncherExeName}";
;IconFilename: "{app}\logo.ico"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\launcher\{#MyAppLauncherExeName}"; Tasks: desktopicon
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe";
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe"; Tasks: desktopicon
[Run]
Filename: "{app}\launcher\{#MyAppLauncherExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\launcher\ayanova-launcher.exe"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
if MsgBox('Do you want to delete the AyaNova database?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
//this is the msg that will display after uninstall,change is as you prefer
if MsgBox('Do you want to delete all AyaNova database and attachment files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
begin
if MsgBox('Are you sure you want to **PERMANENTLY** delete the database files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
//this is the msg that will display after uninstall,change is as you prefer
if MsgBox('Are you sure you want to **PERMANENTLY** delete all AyaNova database and attachment files?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
begin
DelTree(ExpandConstant('{commonappdata}\ayanova'), True, True, True);
end;