Skip to content

Commit

Permalink
Initial Release
Browse files Browse the repository at this point in the history
Initial Release
  • Loading branch information
ElektroStudios committed Nov 20, 2018
1 parent 95780c2 commit c1d25ba
Show file tree
Hide file tree
Showing 303 changed files with 104,687 additions and 1 deletion.
Binary file added Deployment/embedded/CompiledCode.bin
Binary file not shown.
Binary file added Deployment/embedded/InfoBefore.rtf
Binary file not shown.
Binary file added Deployment/embedded/WizardImage.bmp
Binary file not shown.
Binary file added Deployment/embedded/WizardSmallImage.bmp
Binary file not shown.
12 changes: 12 additions & 0 deletions Deployment/embedded/default.isl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[LangOptions]
LanguageName=English
LanguageID=$0409
LanguageCodePage=0
DialogFontName=Tahoma
TitleFontName=Arial
WelcomeFontName=Verdana
CopyrightFontName=Arial
DialogFontSize=8
TitleFontSize=29
WelcomeFontSize=12
CopyrightFontSize=8
Binary file added Deployment/icon.ico
Binary file not shown.
192 changes: 192 additions & 0 deletions Deployment/install_script.iss
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@


#define Version "1.0"
#define AppName ".NET Assembly Info"


[Setup]
AppName={#AppName}
AppID={#AppName}
AppVerName={#AppName} {#Version}
SetupMutex={#AppName} {#Version}
AppVersion={#Version}
VersionInfoVersion={#Version}
AppCopyright=© ElektroStudios 2018
AppPublisher=ElektroStudios
DefaultDirName={pf}\ElektroStudios\{#AppName}
DefaultGroupName={#AppName}
UninstallDisplayIcon={app}\uninstall.ico
OutputBaseFilename=NET Assembly Info
Compression=lzma/ultra64
InternalCompressLevel=ultra64
SolidCompression=true
AlwaysShowComponentsList=False
DisableWelcomePage=False
DisableDirPage=True
DisableProgramGroupPage=True
DisableReadyPage=True
DisableStartupPrompt=True
FlatComponentsList=False
LanguageDetectionMethod=None
RestartIfNeededByRun=False
ShowLanguageDialog=NO
ShowTasksTreeLines=True
SetupIconFile=Icon.ico
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
InfoBeforeFile=embedded\InfoBefore.rtf
Uninstallable=True
ArchitecturesAllowed=x86 x64
ArchitecturesInstallIn64BitMode=x64

[Files]
; VCL Styles
Source: {cf}\Inno Setup\*; DestDir: {cf}\Inno Setup; Attribs: readonly system; Flags: uninsneveruninstall overwritereadonly onlyifdoesntexist

; Temp files
Source: {tmp}\*; DestDir: {tmp}; Flags: recursesubdirs createallsubdirs ignoreversion

; Program
Source: {app}\*; DestDir: {app}; Flags: recursesubdirs createallsubdirs ignoreversion

[Run]
Filename: {app}\ServerRegistrationManager.exe; Parameters: "uninstall ""{app}\AssemblyInfo.dll"""; WorkingDir: {app}; StatusMsg: Unregistering the shell-extension...; Flags: runhidden runascurrentuser waituntilterminated
Filename: {app}\ServerRegistrationManager.exe; Parameters: "install ""{app}\AssemblyInfo.dll"" -codebase"; WorkingDir: {app}; StatusMsg: Registering the shell-extension...; Flags: runhidden runascurrentuser waituntilterminated

[UninstallRun]
Filename: {app}\ServerRegistrationManager.exe; Parameters: "uninstall ""{app}\AssemblyInfo.dll"""; WorkingDir: {app}; StatusMsg: Unregistering the shell-extension...; Flags: runhidden runascurrentuser waituntilterminated

[Code]
// ************************
// Uninstallation Variables
// ************************
Var
UninstallSuccess : Boolean; // Determines whether the uninstallation succeeded.
// *******
// Imports
// *******
// Load VCL Style
procedure LoadVCLStyle(VClStyleFile: String); external 'LoadVCLStyleA@files:VclStylesinno.dll stdcall setuponly';
procedure LoadVCLStyle_UnInstall(VClStyleFile: String); external 'LoadVCLStyleA@{app}\Uninstall.dll stdcall uninstallonly delayload';
// Unload VCL Style
procedure UnLoadVCLStyles; external 'UnLoadVCLStyles@files:VclStylesinno.dll stdcall setuponly';
procedure UnLoadVCLStyles_UnInstall; external 'UnLoadVCLStyles@{app}\Uninstall.dll stdcall uninstallonly delayload';
// Create Symbolic Link
function CreateSymbolicLink(lpSymlinkFileName, lpTargetFileName: string; dwFlags: Integer): Boolean; external '[email protected] stdcall setuponly';
// *******
// Methods
// *******
// Deletes the VCL style files from {app} after uninstall.
procedure DeleteVclFiles();
begin
If FileExists(ExpandConstant('{app}\uninstall.vsf')) then begin
DeleteFile(ExpandConstant('{app}\uninstall.vsf'));
end;
If FileExists(ExpandConstant('{app}\uninstall.dll')) then begin
DeleteFile(ExpandConstant('{app}\uninstall.dll'));
end;
// Safe remove {app} dir. It does not remove the folder if it has files or subdirs.
If DirExists(ExpandConstant('{app}')) then begin
DelTree(ExpandConstant('{app}\'), true, false, false);
end;
end;
// ****************
// Installer Events
// ****************
// E: Occurs when the installer initializes.
// -----------------------------------------
function InitializeSetup(): Boolean;
begin
// Initialize the VCL skin style.
ExtractTemporaryFile('Carbon.vsf');
LoadVCLStyle(ExpandConstant('{tmp}\Carbon.vsf'));
Result := True;
end;
// E: Occurs when the installer deinitializes.
// -------------------------------------------
procedure DeinitializeSetup();
begin
// Deinitialize the VCL skin style.
UnLoadVCLStyles;
end;
// E: Occurs when the installer page is at PostInstall.
// ----------------------------------------------------
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
CreateSymbolicLink(ExpandConstant('{app}\Uninstall.vsf'), ExpandConstant('{cf}\Inno Setup\Carbon.vsf'), 0)
CreateSymbolicLink(ExpandConstant('{app}\Uninstall.dll'), ExpandConstant('{cf}\Inno Setup\VclStylesinno.dll'), 0)
end;
end;
// ******************
// Uninstaller Events
// ******************
// E: Occurs when the uninstaller current page changes.
// ----------------------------------------------------
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usDone then begin
UninstallSuccess:= True;
end;
end;
// E: Occurs when the uninstaller initializes.
// -------------------------------------------
function InitializeUninstall: Boolean;
begin
Result := True;
// Initialize the VCL skin style.
If FileExists(ExpandConstant('{app}\Uninstall.vsf')) then begin
LoadVCLStyle_UnInstall(ExpandConstant('{app}\Uninstall.vsf'));
end;
end;
// E: Occurs when the uninstaller deinitializes.
// ---------------------------------------------
procedure DeinitializeUninstall();
begin
// Deinitialize the VCL skin style.
If FileExists(ExpandConstant('{app}\uninstall.dll')) then begin
UnLoadVCLStyles_UnInstall;
UnloadDll(ExpandConstant('{app}\uninstall.dll'));
end;
if UninstallSuccess then begin
DeleteVclFiles;
end;
end;
Binary file added Deployment/{app}/AssemblyInfo.dll
Binary file not shown.
3 changes: 3 additions & 0 deletions Deployment/{app}/Sample Assemblies/.Readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
These .NET assemblies just are here for testing purposes.

You can safely remove them.
Binary file not shown.
Binary file added Deployment/{app}/Sample Assemblies/Dll (x64).dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Deployment/{app}/ServerRegistrationManager.exe
Binary file not shown.
6 changes: 6 additions & 0 deletions Deployment/{app}/ServerRegistrationManager.exe.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
Binary file added Deployment/{app}/SharpShell.dll
Binary file not shown.
Binary file not shown.
Binary file added Deployment/{app}/System.Reflection.Metadata.dll
Binary file not shown.
Binary file added Deployment/{app}/uninstall.ico
Binary file not shown.
Binary file added Deployment/{cf}/Inno Setup/Carbon.vsf
Binary file not shown.
Binary file added Deployment/{cf}/Inno Setup/VclStylesinno.dll
Binary file not shown.
Loading

0 comments on commit c1d25ba

Please sign in to comment.