Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nvaccess/nsis-build
A dependency of NVDA. Contains a custom portable installation of NSIS for building the NVDA installer.
https://github.com/nvaccess/nsis-build
Last synced: 12 days ago
JSON representation
A dependency of NVDA. Contains a custom portable installation of NSIS for building the NVDA installer.
- Host: GitHub
- URL: https://github.com/nvaccess/nsis-build
- Owner: nvaccess
- Created: 2022-02-24T01:50:46.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-11T05:08:15.000Z (8 months ago)
- Last Synced: 2024-11-13T12:58:15.965Z (2 months ago)
- Language: NSIS
- Size: 2.95 MB
- Stars: 0
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# NSIS Distribution - NVDA Dependency
This repository contains an installed distribution of [NSIS](https://nsis.sourceforge.io/).
Building NSIS from source is slow, so a prebuilt distribution is used as a dependency for NVDA.
### Current Version
v3.10
### NSIS
NVDA doesn't require most of NSIS, so to make the dependency smaller,
a custom installation is created.
While a custom NSIS installation could be created using the installer,
to save time a full installation distributed zip is download and extracted.
Then the contents are filtered by [.gitignore](./.gitignore).
[.gitignore](./.gitignore) was written to filter the same contents
as the NSIS 2.51 custom installation used in older versions of NVDA.
Additionally, unused exes are also filtered to minimize disk space usage.**Updating NSIS**
These steps use the root directory of this git submodule as the working directory.
When developing from the NVDA repository, the working directory for updating NSIS is `include/nsis`.1. Remove the folder `./NSIS`.
1. Download the latest `.zip` distribution from [the NSIS sourceforge](https://sourceforge.net/projects/nsis/files/).
- Example: `nsis-3.08.zip`
1. Extract the installation to `./NSIS`
1. From git bash:
- Perform `git add NSIS` to track new files.
- Update `.gitignore` if necessary.
- Perform `git diff --stat NSIS`, ensure no unexpected files are being added.
- Expected new files may include:
- graphics
- languages
- Check `git clean -xdn NSIS`, ensure no unexpected files are being ignored by .gitignore.
- This is unlikely unless NVDA requires new features bundled with NSIS.
- If building the launcher fails, consider updating .gitignore.
- Perform `git clean -xdf NSIS`, as fresh clones need to be able to work without ignored files.
1. From a command prompt at the NVDA repository root, build the launcher:
- `scons launcher`
1. Check for build errors or warnings## Testing
Test the installer and uninstaller, the two executables created by .nsi scripts.Test across supported versions of Windows.
Consider:
- ARM / 32bit / 64bit
- Older and newer builds
- Windows `.iso`s using locales other than English### Testing the installer
Example: (nvda_snapshot_source-example-5683e66.exe)
**Test all the code pathways for the installer**
- `--minimal` causes no sound to be played results in an installation
- no `--minimal` causes the installer sound to be played**Smoke test the installer**
- via CMD with the flag
- `--install` results in an installation and NVDA starting afterwards
- `--install-silent` results in an installation without NVDA starting afterwards
- executing the launcher via UI reaches the NVDA dialog### Testing the uninstaller
First install NVDA using the installer.
**Finding the uninstaller:**
- Find uninstall.exe in the NVDA installation folder.
- Ensure that "Uninstall NVDA" can be found via the Windows search menu.
- Ensure that NVDA can be found in the Windows uninstaller tool: "Add or Remove programs"**Smoke test the uninstaller**
- Executing the uninstaller and completing the un-installation:
- keeps user config
- removes NVDA from Start Menu
- removes NVDA from the installed folder