[AccessD] Access install package
Stuart McLachlan
stuart at lexacorp.com.pg
Sat Oct 30 22:13:42 CDT 2021
On 30 Oct 2021 at 22:02, John Colby wrote:
> Stuart,
>
> I am totally lost on this. Not finding anything that actually uses it
> less than 10 years old. There is a compiler application. It wants to
> open a script. Is there something I am missing? TBH I have no idea
> even what I am expecting from this thing but I kind of figured it
> would ask me to select my database or something. Ask some questions
> like "where do you want to install"
>
> Something?
>
> The web site has nothing even remotely helpful for how to use the
> thing. Lots of FAQ stuff but no "Do X, then Do Y" Or at least not
> that I have found.
>
> So what does this thing actually do?
>
Lots of software uses it today for instalation. The latest version is 6.2 which was released in
June 2021!
Basically, you write a script containing a series of steps/instructions that you want the
installation to perform. Inno Setup then builds an executable file that contains all of your
required files and which performs the actions you scripted when run including displaying
installation "wizard" dialogs etc if required.
If you install Inno Setup , you will find lots of sample scripts under its Examples directory.
You will also find a coprehensice Help file which explains how to use it.
>From the Help file:
Inno Setup version 6.2.0
Copyright © 1997-2021 Jordan Russell. All rights reserved.
Portions Copyright © 2000-2021 Martijn Laan. All rights reserved.
Inno Setup home page [external link]
Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan.
First introduced in 1997, Inno Setup today rivals and even surpasses many commercial
installers in feature set and stability.
Key features:
oSupport for every Windows release since 2006, including: Windows 10, Windows 10 on
ARM, Windows Server 2019, Windows Server 2016, Windows 8.1, Windows 8, Windows
Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, and Windows
Vista. (No service packs are required.)
oExtensive support for installation of 64-bit applications on the 64-bit editions of Windows.
The x64, ARM64 and Itanium architectures are all supported.
oExtensive support for both administrative and non administrative installations installations.
oSupports creation of a single EXE to install your program for easy online distribution. Disk
spanning is also supported.
oResizable standard Windows wizard interface.
oCustomizable setup types, e.g. Full, Minimal, Custom.
oComplete uninstall capabilities.
oInstallation of files:
Includes integrated support for "deflate", bzip2, and 7-Zip LZMA/LZMA2 file compression.
The installer has the ability to compare file version info, replace in-use files, use shared file
counting, register DLL/OCX's and type libraries, and install fonts.
oCreation of shortcuts anywhere, including in the Start Menu and on the desktop.
oCreation of registry and .INI entries.
oRunning other programs before, during or after install.
oSupport for multilingual installs, including right-to-left language support.
oSupport for passworded and encrypted installs.
oSupport for digitally signed installs and uninstalls, including dual signing (SHA1 & SHA256).
oSilent install and silent uninstall.
oUnicode installs.
oIntegrated preprocessor option for advanced compile-time customization.
oIntegrated Pascal scripting engine option for advanced run-time install and uninstall
customization.
oFull source code is available from GitHub [external link].
oTiny footprint: only about 1.5 mB overhead with all features included.
oAll features are fully documented.
oUsed by Microsoft Visual Studio Code [external link] and Embarcardero Delphi [external
link].
Here's an example script which will give you an idea.
; -- Example3.iss --
; Same as Example1.iss, but creates some registry entries too and allows the end
; use to choose the install mode (administrative or non administrative).
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
[Setup]
AppName=My Program
AppVersion=1.5
WizardStyle=modern
DefaultDirName={autopf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma2
SolidCompression=yes
OutputDir=userdocs:Inno Setup Examples Output
ChangesAssociations=yes
UserInfoPage=yes
PrivilegesRequiredOverridesAllowed=dialog
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
; NOTE: Most apps do not need registry entries to be pre-created. If you
; don't know what the registry is or if you need to use it, then chances are
; you don't need a [Registry] section.
[Registry]
; Create "Software\My Company\My Program" keys under CURRENT_USER or
; LOCAL_MACHINE depending on administrative or non administrative install
; mode. The flags tell it to always delete the "My Program" key upon
; uninstall, and delete the "My Company" key if there is nothing left in it.
Root: HKA; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKA; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\My Company\My Program\Settings"; ValueType: string;
ValueName: "Language"; ValueData: "{language}"
; Associate .myp files with My Program (requires ChangesAssociations=yes)
Root: HKA; Subkey: "Software\Classes\.myp\OpenWithProgids"; ValueType: string;
ValueName: "MyProgramFile.myp"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\MyProgramFile.myp"; ValueType: string;
ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\MyProgramFile.myp\DefaultIcon"; ValueType:
string; ValueName: ""; ValueData: "{app}\MyProg.exe,0"
Root: HKA; Subkey: "Software\Classes\MyProgramFile.myp\shell\open\command";
ValueType: string; ValueName: ""; ValueData: """{app}\MyProg.exe"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\MyProg.exe\SupportedTypes";
ValueType: string; ValueName: ".myp"; ValueData: ""
; HKA (and HKCU) should only be used for settings which are compatible with
; roaming profiles so settings like paths should be written to HKLM, which
; is only possible in administrative install mode.
Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty; Check:
IsAdminInstallMode
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey; Check:
IsAdminInstallMode
Root: HKLM; Subkey: "Software\My Company\My Program\Settings"; ValueType: string;
ValueName: "InstallPath"; ValueData: "{app}"; Check: IsAdminInstallMode
; User specific settings should always be written to HKCU, which should only
; be done in non administrative install mode. Also see ShouldSkipPage below.
Root: HKCU; Subkey: "Software\My Company\My Program\Settings"; ValueType: string;
ValueName: "UserName"; ValueData: "{userinfoname}"; Check: not IsAdminInstallMode
Root: HKCU; Subkey: "Software\My Company\My Program\Settings"; ValueType: string;
ValueName: "UserOrganization"; ValueData: "{userinfoorg}"; Check: not IsAdminInstallMode
[Code]
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := IsAdminInstallMode and (PageID = wpUserInfo);
end;
More information about the AccessD
mailing list