Skip to content

Windows installer#729

Draft
yunowo wants to merge 1 commit intomainfrom
wininstaller
Draft

Windows installer#729
yunowo wants to merge 1 commit intomainfrom
wininstaller

Conversation

@yunowo
Copy link
Copy Markdown
Member

@yunowo yunowo commented Mar 30, 2026

Description

Requires GStreamer 1.28.2+.
Builds an offline installer with all dependencies bundled.

Fixes # (issue)

Any Newly Introduced Dependencies

NSIS: zlib/libpng license (https://nsis.sourceforge.io/License)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Checklist:

  • I agree to use the MIT license for my code changes.
  • I have not introduced any 3rd party components incompatible with MIT.
  • I have not included any company confidential information, trade secret, password or security token.
  • I have performed a self-review of my code.

@mholowni
Copy link
Copy Markdown
Contributor

mholowni commented Mar 30, 2026

I am no familiar with creating windows installers, but my only concern is the license of installer logo. From where did you get it?

@yunowo
Copy link
Copy Markdown
Member Author

yunowo commented Mar 30, 2026

I am no familiar with creating windows installers, but my only concern is the license of installer logo. From where did you get it?

It's a placeholder and from Chrome's installer, but obviously they took it from windows. Removed and let's see if we can get a new logo to use.

@yunowo yunowo force-pushed the wininstaller branch 5 times, most recently from c227412 to f7a8388 Compare April 2, 2026 03:15
Copilot AI review requested due to automatic review settings April 10, 2026 03:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds Windows installer generation (NSIS via CPack), including automatic download/bundling of required third-party installers and CI wiring for packaging.

Changes:

  • Add Windows CPack/NSIS packaging configuration and componentized install rules.
  • Add NSIS script/template and helper macros for dependency install, env-var setup, and uninstall behaviors.
  • Update PowerShell build script and Windows CI workflow to install NSIS and run packaging targets.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
scripts/build_dlstreamer_dlls.ps1 Installs NSIS + plugins, switches build dir to repo, and adds packaging steps/flags.
LICENSE Updates copyright year range to 2018–2026.
CMakeLists.txt Includes Windows packaging configuration on WIN32 builds.
cmake/packaging/windows/NSIS.template.in Custom CPack NSIS template enabling extra hooks/defines for DL Streamer installer.
cmake/packaging/windows/install_targets.cmake Defines component install rules and custom target to download installer dependencies.
cmake/packaging/windows/download_deps.cmake Adds CMake script to download/verify GStreamer & Python installers.
cmake/packaging/windows/dlstreamer.nsh Implements installer logic (dependency checks, env vars, cleanup, hash verification, uninstall UI).
cmake/packaging/windows/cpack_windows.cmake Configures CPack NSIS generator, versions/hashes, signing hooks, and packaging targets.
.github/workflows/dls-build-and-test-windows.yaml Updates build output directory and sets NSIS_SKIP_COMPRESSION for CI builds.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/build_dlstreamer_dlls.ps1
Comment thread scripts/build_dlstreamer_dlls.ps1 Outdated
Comment thread scripts/build_dlstreamer_dlls.ps1 Outdated
Comment thread cmake/packaging/windows/download_deps.cmake Outdated
Comment thread cmake/packaging/windows/cpack_windows.cmake Outdated
Comment thread cmake/packaging/windows/dlstreamer.nsh
Comment thread cmake/packaging/windows/cpack_windows.cmake
@yunowo yunowo force-pushed the wininstaller branch 3 times, most recently from 03ab8a7 to 4d75c75 Compare April 24, 2026 06:52
@yangjianfeng1208
Copy link
Copy Markdown
Contributor

I see the first step of the installer is compiling the source code.
I was wondering if it would be possible to change this to directly download the latest DLLs from GitHub release?
After all, the people performing local builds are typically developers, and they generally don't need to install everything from scratch.

@yunowo
Copy link
Copy Markdown
Member Author

yunowo commented Apr 24, 2026

I see the first step of the installer is compiling the source code. I was wondering if it would be possible to change this to directly download the latest DLLs from GitHub release? After all, the people performing local builds are typically developers, and they generally don't need to install everything from scratch.

The build_dlstreamer_dlls.ps1 is not the installer. It generates an exe installer which will be released on GitHub. There will be no more DLL-only releases in the future.
The exe is self contained with all dependencies. No internet is needed to install the installer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants