{"id":36924078,"url":"https://github.com/OpenVPN/tap-windows6","last_synced_at":"2026-01-19T18:00:39.575Z","repository":{"id":15009711,"uuid":"17735269","full_name":"OpenVPN/tap-windows6","owner":"OpenVPN","description":"Windows TAP driver (NDIS 6)","archived":false,"fork":false,"pushed_at":"2024-03-19T13:47:12.000Z","size":481,"stargazers_count":849,"open_issues_count":55,"forks_count":247,"subscribers_count":60,"default_branch":"master","last_synced_at":"2025-07-04T09:43:35.642Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenVPN.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-03-14T04:22:31.000Z","updated_at":"2025-07-04T07:23:31.000Z","dependencies_parsed_at":"2023-01-11T18:59:36.141Z","dependency_job_id":"65a79bfd-2b5c-4168-b0be-9f225bcd37ba","html_url":"https://github.com/OpenVPN/tap-windows6","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/OpenVPN/tap-windows6","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Ftap-windows6","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Ftap-windows6/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Ftap-windows6/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Ftap-windows6/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenVPN","download_url":"https://codeload.github.com/OpenVPN/tap-windows6/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Ftap-windows6/sbom","scorecard":{"id":105603,"data":{"date":"2025-08-11","repo":{"name":"github.com/OpenVPN/tap-windows6","commit":"0cad8664c2a51832df61f2e1853b6da317d1c129"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":7,"reason":"Found 16/21 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: installer/ShellLink.dll:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 9.27.0 not signed: https://api.github.com/repos/OpenVPN/tap-windows6/releases/147242100","Warn: release artifact 9.26.0 not signed: https://api.github.com/repos/OpenVPN/tap-windows6/releases/101095750","Warn: release artifact 9.25.0 not signed: https://api.github.com/repos/OpenVPN/tap-windows6/releases/100805060","Warn: release artifact 9.27.0 does not have provenance: https://api.github.com/repos/OpenVPN/tap-windows6/releases/147242100","Warn: release artifact 9.26.0 does not have provenance: https://api.github.com/repos/OpenVPN/tap-windows6/releases/101095750","Warn: release artifact 9.25.0 does not have provenance: https://api.github.com/repos/OpenVPN/tap-windows6/releases/100805060"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T11:03:05.447Z","repository_id":15009711,"created_at":"2025-08-15T11:03:05.447Z","updated_at":"2025-08-15T11:03:05.447Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28578952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T17:42:58.221Z","status":"ssl_error","status_checked_at":"2026-01-19T17:40:54.158Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T19:00:25.485Z","updated_at":"2026-01-19T18:00:39.569Z","avatar_url":"https://github.com/OpenVPN.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"TAP-Windows driver (NDIS 6)\n===========================\n\nThis is an NDIS 6.20/6.30 implementation of the TAP-Windows driver, used by\nOpenVPN and other apps. NDIS 6.20 drivers can run on Windows 7 or higher except\non ARM64 desktop systems where, since the platform relies on next-gen power\nmanagement in its drivers, NDIS 6.30 is required.\n\nBuild\n-----\n\nThe prerequisites for building are:\n\n- Python 2.7\n- Microsoft Windows 10 EWDK (Enterprise Windows Driver Kit)\n    - Visual Studio+Windows Driver Kit works too. Make sure to work from a \"Command Prompt for Visual Studio\" and to call buildtap.py with \"--sdk=wdk\".\n- The devcon source code directory (setup/devcon) from `Windows-driver-samples \u003chttps://github.com/OpenVPN/Windows-driver-samples\u003e`_ (optional)\n    - If you use the repo from `upstream \u003chttps://github.com/Microsoft/Windows-driver-samples\u003e`_ remember to include our patch to devcon.vcxproj to ensure that devcon.exe is statically linked.\n- Windows code signing certificate\n- Git (not strictly required, but useful for running commands using bundled bash shell)\n- MakeNSIS (optional)\n- Prebuilt tapinstall.exe binaries (optional)\n- Visual Studio 2019 and WiX Toolset for MSM packaging (optional)\n\nMake sure you add Python's install directory (usually c:\\\\python27) to the PATH\nenvironment variable.\n\nTap-windows6 has been successfully build on Windows 10 and Windows Server 2016 using\nCMD.exe, Powershell and Git Bash.\n\nView build script options::\n\n  $ python buildtap.py\n  Usage: buildtap.py [options]\n\n  Options:\n    -h, --help           show this help message and exit\n    -s SRC, --src=SRC    TAP-Windows top-level directory, default=\u003cCWD\u003e\n    --ti=TAPINSTALL      tapinstall (i.e. devcon) directory (optional)\n    -d, --debug          enable debug build\n    --hlk                build for HLK tests (test sign, no debug)\n    -c, --clean          do an nmake clean before build\n    -b, --build          build TAP-Windows and possibly tapinstall (add -c to\n                         clean before build)\n    --sdk=SDK            SDK to use for building: ewdk or wdk, default=ewdk\n    --sign               sign the driver files\n    -p, --package        generate an NSIS installer from the compiled files\n    -m, --package-msm    generate a MSM installer from the compiled files\n    --cert=CERT          Common name of code signing certificate,\n                         default=openvpn\n    --certfile=CERTFILE  Path to the code signing certificate\n    --certpw=CERTPW      Password for the code signing certificate/key\n                         (optional)\n    --crosscert=CERT     The cross-certificate file to use, default=MSCV-\n                         VSClass3.cer\n    --timestamp=URL      Timestamp URL to use, default=http://timestamp.verisign\n                         .com/scripts/timstamp.dll\n    --versionoverride=FILE\n                         Path to the version override file\n\nEdit **version.m4** and **paths.py** as necessary then build::\n\n  $ python buildtap.py -b\n\nOn successful completion, all build products will be placed in the \"dist\"\ndirectory as well as tap6.tar.gz. The NSIS installer package will be placed to\nthe build root directory.\n\nBuilding tapinstall (optional)\n------------------------------\n\nThe easiest way to build tapinstall is to clone the Microsoft driver samples\nand copy the source for devcon.exe into the tap-windows6 tree. Using PowerShell::\n\n  $ git clone https://github.com/OpenVPN/Windows-driver-samples.git\n  $ Copy-Item -Recurse Windows-driver-samples/setup/devcon tap-windows6\n  $ cd tap-windows6\n  $ python.exe buildtap.py -b --ti=devcon\n\nThe build system also supports reuse of pre-built tapinstall.exe executables.\nTo make sure the buildsystem finds the executables, create the following\ndirectory structure under tap-windows6 directory::\n\n  devcon\n  ├── Release\n  │   └── devcon.exe\n  ├── x64\n  │   └── Release\n  │       └── devcon.exe\n  └── ARM64\n      └── Release\n          └── devcon.exe\n\nThis structure is equal to what building tapinstall would create. Then call\nbuildtap.py with \"--ti=devcon\". Replace \"Release\" with your build configuration;\nfor example, when using --Hlk you'd use \"Hlk\".\n\nPlease note that the NSIS packaging (-p) step will fail if you don't have\ntapinstall.exe available. Also don't use the \"-c\" flag or the above directories\nwill get wiped before MakeNSIS is able to find them.\n\nDeveloper Mode: Installing,  Removing and Replacing the Driver\n-------------------------------------------------\n\nThe driver can be installed using a command-line tool, tapinstall.exe, which is\nbundled with OpenVPN and tap-windows installers. Note that in some versions of\nOpenVPN tapinstall.exe is called devcon.exe. To install, update or remove the\ntap-windows NDIS 6 driver follow these steps:\n\n- place tapinstall.exe/devcon.exe to your PATH\n- open an Administrator shell\n- cd to **dist**\n- cd to **amd64**, **i386**, or **arm64** depending on your system's processor architecture.\n\n\nIf you are actively developing the driver (e.g.: Edit, Compile, Debug, Loop...), you may not be signing your driver each time, thus you need to be aware of the following additional items.\n\nDisable Secure Boot::\n\nUnsigned drivers require disabling secure boot.\n\n- Secure Boot: Varies depending on PC Maker and/or the BIOS setting on your test machine.\n- https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/disabling-secure-boot\n- VMWare (one example): https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-898217D4-689D-4EB5-866C-888353FE241C.html\n- Virtual Box: SecureBoot is not supported on Virtual Box\n- Parallels (MacOS) https://kb.parallels.com/en/124242 [With Parallels 15, it is enabled by default, use 0 to disable]\n\nEnable Windows Test Mode::\n\nTest mode is also required.\n\n- Enable Windows Test Mode via BCEDIT\n- For details: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdedit-command-line-options\n- Specifically, ``bcdedit /set testsigning off`` or ``bcdedit /set testsigning on``\n- The result should be ``Test Mode`` in the bottom right corner of the windows screen.\n\nDriver Installation::\n\nNotes\n\n- The command ``tapinstall install OemVista.inf TAP0901`` installs the driver\n- Because your driver is not signed, the ``tapinstall install`` step will pop up the \"Big Scary Unsigned Driver Warning\", you'll need to click OK.\n- As a result, the driver will be copied into the Windows Driver Store\n\nUpdating the Driver, and the Windows Driver Store::\n\nAt some point, you will build a shinny new driver and need to test it.\n\n- The command ``tapinstall remove TAP0901`` - removes the driver\n- However, the previously approved driver is still in the Windows Driver Store\n- Typing ``tapinstall install ...`` now, only re-installs the old driver that was copied into the driver store.\n\nKey step: The driver needs to be removed from the driver store also.\n\n- Details: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc730875(v=ws.11)\n\nThere is a script to do this, but it only works if you have not changed the text strings in your driver package\n\n- Script Location: https://github.com/mattock/tap-windows-scripts\n\nThe manual steps are:\n\n- Step 1 - Obtain a list of Installed drivers via the command: ``pnputil -e``, this will list all of the ``oemNUMBER.inf`` files that are in the driver store.\n- Step 2 - Find your driver in that list, it will be some ``oem\u003cNUMBER\u003e.inf`` file\n- Step 3 - To delete, use ``pnputil.exe /d oemNUMBER.inf``\n\nFinally use ``tapinstall install OemVista.inf TAP0901`` to install your driver\n\nImportant::\n\nIf you do not see the Big Scary Unsigned Driver Warning - Windows will use the old (not new) driver.\n\nTroubleshooting:\n\nExamining the SetupAPI log file helps, see ``C:\\Windows\\INF\\setupapi.dev.log``.\n\nBuild for HLK tests\n-------------------\n\nA test-signed version of tap-windows6 driver should be used for the HLK tests.\nThe recommended procedure is to use pre-built, cross-signed devcon.exe and use\nthe WDK-generated key for signing the driver.\n\nFirst setup the directory with prebuilt devcon as described above.\nThen run the build with the --hlk option::\n\n  $ python.exe buildtap.py -c -b --ti=devcon-prebuilt --hlk\n\nRelease process and signing\n---------------------------\n\nMicrosoft's driver signing requirements have tightened considerably over the\nlast several years. Because of this this buildsystem no longer attempts to sign\nfiles by default. If you want to sign the files at build time use the --sign\noption. The \"sign\" directory contains several Powershell scripts that help\nproduce release-signed tap-windows6 packages:\n\n- *Cross-Sign*: cross-sign tap-windows6 driver files and tapinstall.exe\n- *Create-DriverSubmission*: create architecture-specific attestation signing submission cabinet files\n- *Extract-DriverSubmission*: extract attestation-signed zip files\n- *Sign-File*: sign files (e.g. tap-windows6 installer or driver submission cabinet files)\n- *Sign-tap6.conf.ps1*: configuration file for all the scripts above\n- *Prepare-Msm.ps1*: take Win7- and Win10-signed \"dist\" directories and produce a \"dist\" directory that MSM packaging can consume\n\nMost of these scripts operate directly on the \"dist\" directory that\ntap-windows6 build system produces. Below it is assumed that building and\nsigning is done on the same computer.\n\nFirst produce cross-signed drivers for (Windows 7/8/8.1/Server 2012r2)::\n\n  $ python.exe buildtap.py -c -b --ti=devcon\n  $ sign\\Cross-Sign.ps1 -SourceDir dist -Force\n\nNote that the \"-Force\" option for Cross-Sign.ps1 is *required* except in the\nunlikely case that you're appending a signature.\n\nNext produce a driver submission cabinet files for attestation signing::\n\n  $ sign\\Create-DriverSubmission.ps1\n  $ Get-ChildItem -Path disk1|sign\\Sign-File.ps1\n\nThree architecture-specific (i386, amd64, arm64) cabinet files are created.\nSubmit these to Windows Dev Center for attestation signing. Note that unsigned\ncabinet files will be automatically rejected.\n\nWhen submitting the drivers to Microsoft take care to only request signatures\napplicable for each architecture.\n\nAt this point move the cross-signed \"dist\" directory away::\n\n  $ Move-Item dist dist.win7\n\nDownload the attestation-signed drivers as zip files put them into a temporary\ndirectory (e.g. tap-windows6\\tempdir). Then run Extract-DriverSubmission.ps1::\n\n  $ Get-ChildItem -Path tempdir -Filter \"*.zip\"|sign\\Extract-DriverSubmission.ps1\n\nThis extracts the drivers into the \"dist\" directory. Move that directory to dist.win10::\n\n  $ Move-Item dist dist.win10\n\nAfter this you can start creating the installers and/or MSM packages.\n\nIf you're creating NSIS packages do::\n\n  $ Move-Item dist.win7 dist\n  $ python.exe buildtap.py -p --ti=devcon\n  $ Move-Item dist dist.win7\n\nFollowed by::\n\n  $ Move-Item dist.win10 dist\n  $ python.exe buildtap.py -p --ti=devcon\n  $ Move-Item dist dist.win10\n\nFinally sign both installers::\n\n  $ Get-Item tap-windows*.exe|sign\\Sign-File.ps1\n\nOn the other hand if you're creating MSM packages do::\n\n  $ sign\\Prepare-Msm.ps1\n  $ python buildtap.py -m --sdk=wdk\n  $ Get-Item tap-windows*.msm|sign\\Sign-File.ps1\n\nFor additional instructions and background information please refer to\n`this article \u003chttps://community.openvpn.net/openvpn/wiki/BuildingTapWindows6\u003e`_ on OpenVPN community wiki.\n\nOverriding setting defined in version.m4\n----------------------------------------\n\nIt is possible to override one or more of the settings in version.m4 file with\nthe --versionoverride \u003cfile\u003e option. Any settings given in the override file\nhave precedence over those in version.m4.\n\nThis is useful when building several tap-windows6 drivers with different\ncomponent ids for example.\n\nNotes on proxies\n----------------\n\nIt is possible to build tap-windows6 without connectivity to the Internet but\nany attempt to timestamp the driver will fail. For this reason configure your\noutbound proxy server before starting the build. Note that the command prompt\nalso needs to be restarted to make use of new proxy settings.\n\nMSM packaging\n-------------\n\nIn order to build the MSM packages build and sign the driver first:\n\n- Build the TAP driver with buildtap.py and \"-b\" flag.\n- EV-sign the drivers\n- WHQL/Attestation-sign the drivers\n\nPlace the signed drivers in a directory structure under tap-windows6\ndirectory. Each platform directory should contain the EV-signed driver with a\n\"win10\" subdirectory containing WHQL/Attestation signed driver for that\nplatform::\n\n  dist\n  ├── amd64\n  │   ├── win10\n  │   │   ├── OemVista.inf\n  │   │   ├── tap0901.cat\n  │   │   └── tap0901.sys\n  │   ├── OemVista.inf\n  │   ├── tap0901.cat\n  │   └── tap0901.sys\n  ├── arm64\n  │   ├── win10\n  │   │   ├── OemVista.inf\n  │   │   ├── tap0901.cat\n  │   │   └── tap0901.sys\n  │   └── (Note: EV-signed driver for arm64 is not used.)\n  ├── include\n  │   └── tap-windows.h\n  └── i386\n      ├── win10\n      │   ├── OemVista.inf\n      │   ├── tap0901.cat\n      │   └── tap0901.sys\n      ├── OemVista.inf\n      ├── tap0901.cat\n      └── tap0901.sys\n\nBuilding MSM packages requires Visual Studio 2019 (EWDK is not sufficient) and\nthe WiX Toolset installed. In a Developer Command Prompt for Visual Studio\n2019, run::\n\n  $ python buildtap.py -m --sdk=wdk\n\nThis will compile the installer.dll file with embedded drivers and package it\nas a platform-dependent tap-windows-\u003cversion\u003e-\u003cplatform\u003e.msm files.\n\nAs the WiX Toolset does not support the arm64 platform yet, only amd64 and\ni386 MSM files are built.\n\nOptional: Consider EV-signing the MSM packages before deploying them. Thou,\nMSM signature is ignored when merging MSM into MSI package, users get a choice\nto validate the integrity of the downloaded MSM packages manually.\n\nLicense\n-------\n\nSee the file `COPYING \u003cCOPYING\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenVPN%2Ftap-windows6","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenVPN%2Ftap-windows6","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenVPN%2Ftap-windows6/lists"}