From 1df844b9548570b244e91b469795b37e22f6bc10 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Tue, 26 Mar 2019 12:06:15 +0100 Subject: Installer: Update 7zstub binaries, add license and readme. --- other-licenses/7zstub/LICENSE | 7 +++ other-licenses/7zstub/README.mcp | 71 +++++++++++++++++++++++++++ other-licenses/7zstub/ReleaseD/7zSD.sfx.exe | Bin 0 -> 155136 bytes other-licenses/7zstub/palemoon/7zSD.manifest | 29 +++++++++++ other-licenses/7zstub/palemoon/7zSD.sfx | Bin 231936 -> 156672 bytes other-licenses/7zstub/uxp/7zSD.manifest | 29 +++++++++++ other-licenses/7zstub/uxp/7zSD.sfx | Bin 231936 -> 156672 bytes 7 files changed, 136 insertions(+) create mode 100644 other-licenses/7zstub/LICENSE create mode 100644 other-licenses/7zstub/README.mcp create mode 100644 other-licenses/7zstub/ReleaseD/7zSD.sfx.exe create mode 100644 other-licenses/7zstub/palemoon/7zSD.manifest create mode 100644 other-licenses/7zstub/uxp/7zSD.manifest (limited to 'other-licenses') diff --git a/other-licenses/7zstub/LICENSE b/other-licenses/7zstub/LICENSE new file mode 100644 index 000000000..b07f078ce --- /dev/null +++ b/other-licenses/7zstub/LICENSE @@ -0,0 +1,7 @@ +License + +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the +original LZMA SDK code, either in source code form or as a compiled binary, for +any purpose, commercial or non-commercial, and by any means. diff --git a/other-licenses/7zstub/README.mcp b/other-licenses/7zstub/README.mcp new file mode 100644 index 000000000..d63e49ce8 --- /dev/null +++ b/other-licenses/7zstub/README.mcp @@ -0,0 +1,71 @@ +This directory contains the LZMA SDK code used in building the self-extracting +Windows installer. + +The src/ directory contains an almost-unmodified copy of the 7-zip source code +version 18.05, as downloaded from https://www.7-zip.org/a/lzma1805.7z (linked +from https://www.7-zip.org/sdk.html). As stated in DOC/lzma-sdk.txt and on the +web page, this code is in the public domain. A few modifications have been +made to this copy of the source code. Those modifications are contained in +customizations.diff, which should be found in the same directory as this file. + +The palemoon/ and uxp/ directories contain 7zSD.sfx, a 32-bit Windows executable +built from the Visual C++ 6 project found in the src/CPP/7zip/Bundles/SFXSetup/ +directory with customizations. The "ReleaseD" configuration was used. +The uxp/ version contains generic vendor information and can be used for any +UXP application's installer with minimal confusion for the user. Basilisk +uses this generic version. +The ReleaseD/ directory contains 7zSD.sfx, which is an unmodified binary +from that build process, ready to be customized for any target application. +Including a compiled binary in the source tree is certainly not preferred, but +is necessary in this case because the code does not build cleanly under more +recent compilers. Using an older toolchain also allows us to keep this +executable running on older Windows versions which are no longer supported by +the build system used for the main application; that means we can show an error +message specifically informing users that their OS is too old, instead of the +generic "not a valid Win32 application" error that Windows would generate if we +used the newer toolchain and that isn't very helpful to most users. +Using a precompiled binary also allows the installer build procedure to work +without a compiler toolchain being configured. + +The palemoon/ and uxp/ directories also contain a manifest which was edited +into 7zSD.sfx's resources after build time. The manifest had to be added +this way because the older resource compiler does not support manifests +(and the 7-zip build files do not try to use any). + +The version info in the compiled binary was also edited after build time. There +isn't a technical reason why the version info changes couldn't be included at +build time, but since the goal is just to avoid confusing users about the origin +of the installer, not to appear to be making the claim that we wrote the +LZMA SDK, a more targeted change is appropriate. + +** BUILDING 7zSD.sfx yourself ** + +Step-by-step instructions for generating 7zSD.sfx: +1) Install Microsoft Visual C++ 6 Professional or Enterprise edition (the + Standard edition does not include the optimizing compiler, so it should + not be used). You'll likely want a virtual machine running Windows XP SP3, + because running VC6 under more modern Windows versions is tricky, to say + the least. Some people have reported success running it on Vista or Win 7, + but please just save yourself the headache! + Once installed, make sure to launch the Visual C++ 6.0 IDE at least once. +2) Install an appropriate Windows SDK version. The Windows XP Service Pack 2 SDK + is known to work well, but that particular version appears to only be + available from archive.org: +https://web.archive.org/web/20080209175723/http://www.microsoft.com:80/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm + Follow the instructions on that archived page to install the SDK. +3) Run the tool included with the SDK that configures Visual C++ to use it. + Start > All Programs > Microsoft Platform SDK for Windows XP SP2 > + Visual Studio Registration > Register PSDK Directories with Visual Studio +4) If using a fresh copy of the LZMA SDK sources, apply the patch in + customizations.diff. The copy in the UXP source tree already has these + changes applied. +5) Open the workspace file at src\CPP\7zip\Bundles\SFXSetup\SFXSetup.dsw and + build it using the "SFXSetup - Win32 ReleaseD" configuration. The output + executable should be at the path ReleaseD\7zSD.sfx relative to SFXSetup.dsw. +6) Use Resource Hacker (available from http://angusj.com/resourcehacker/) to + (if desired) replace the existing icon on 7zSD.sfx and to add the manifest + as a new resource. Also edit the version info resource to replace CompanyName + and LegalCopyright with an appropriate vendor name and FileDescription and + ProductName with an appropriate product name. + Be sure to recompile the resources using the green "play" button in the + toolbar (or by pressing F5) before saving the edited binary file. diff --git a/other-licenses/7zstub/ReleaseD/7zSD.sfx.exe b/other-licenses/7zstub/ReleaseD/7zSD.sfx.exe new file mode 100644 index 000000000..e1e37cf2e Binary files /dev/null and b/other-licenses/7zstub/ReleaseD/7zSD.sfx.exe differ diff --git a/other-licenses/7zstub/palemoon/7zSD.manifest b/other-licenses/7zstub/palemoon/7zSD.manifest new file mode 100644 index 000000000..14639d7f5 --- /dev/null +++ b/other-licenses/7zstub/palemoon/7zSD.manifest @@ -0,0 +1,29 @@ + + + +7-Zip Self-extracting Archive v18.05 + + + + + + + + + + + + + + + + + + + + + +true + + + diff --git a/other-licenses/7zstub/palemoon/7zSD.sfx b/other-licenses/7zstub/palemoon/7zSD.sfx index ecb03bad3..db9f5d8da 100644 Binary files a/other-licenses/7zstub/palemoon/7zSD.sfx and b/other-licenses/7zstub/palemoon/7zSD.sfx differ diff --git a/other-licenses/7zstub/uxp/7zSD.manifest b/other-licenses/7zstub/uxp/7zSD.manifest new file mode 100644 index 000000000..14639d7f5 --- /dev/null +++ b/other-licenses/7zstub/uxp/7zSD.manifest @@ -0,0 +1,29 @@ + + + +7-Zip Self-extracting Archive v18.05 + + + + + + + + + + + + + + + + + + + + + +true + + + diff --git a/other-licenses/7zstub/uxp/7zSD.sfx b/other-licenses/7zstub/uxp/7zSD.sfx index 62318e1f3..821f4e504 100644 Binary files a/other-licenses/7zstub/uxp/7zSD.sfx and b/other-licenses/7zstub/uxp/7zSD.sfx differ -- cgit v1.2.3