Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed Windows installer #24277

Closed
wants to merge 6 commits into from
Closed

Conversation

nhorman
Copy link
Contributor

@nhorman nhorman commented Apr 26, 2024

As part of openssl/project#20 I've created this draft PR to propose a windows installer framework. The installer currently:

  • Allows for the installation of 32 bit and 64 bit x86 binaries and supporting libraries, including the fips and legacy proiders (selectable at installer-run-time)
  • Allows for the installation of development headers (selectable at installer-run-time)
  • Creates an uninstaller
  • Allows for the side-by-side installation of multiple openssl versions (target install directory selectable at installer-run-time, defaulting to c:\Program Files\openssl-)
  • Demonstrates installer signing using Microsofts code signing utilities with a generated self-signed certificate
  • Includes a manually triggered github workflow to build the installer on demand, and could be enhanced to do a nightly build
  • Includes a nmake makefile to demonstrate local building

This PR expressly omits any offical building of the installer, as we need to determine how we would want to manage code signing certificates, as well as how we want to incorporate the building and releasing of the installer as part of our release process, but I think the installer itself is in pretty good shape. My proposal would be to incorporate this PR in 3.4 and target 3.5 for integrating a signed installer release into the 3.5 development cycle

Checklist
  • tests are added or updated

@nhorman nhorman marked this pull request as ready for review April 26, 2024 20:09
make some improvements to the script.  Realized we can group the installation
sections into 64 and 32 bit groups for better organization.  Also add in static
libraries for users that want to statically link their own apps
@nhorman nhorman requested a review from quarckster April 29, 2024 10:51
run: nmake /S
- name: build installer
working-directory: windows-installer
run: makensis.exe /DVERSION=${{ github.event.inputs.tag }} /DBUILD32=_build32 /DBUILD64=_build64 .\openssl.nsi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you run the command directly instead of running windows-installer/Makefile?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

only because I created the ci workflow before I created the makefile, but I can fix that up

@nhorman
Copy link
Contributor Author

nhorman commented Apr 29, 2024

closing this - discussion from backlog refinement is that the installer should go into a separate repository

@nhorman nhorman closed this Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a proposal for offering binaries Write some github actions to exercise the installer builder
3 participants