There are a couple of things related to DLL files in LW releases I've just found:
- ✅ I saw that Firefox now also ships
msvcp140_atomic_wait.dll in addition to msvcp140.dll, vcruntime140.dll and vcruntime140_1.dll. We should do the same.
- ✅ The commit above doesn't yet address the next issue: the DLL source (https://github.com/abbodi1406/vcredist/releases) doesn't include ARM files, so our ARM release doesn't ship any of the files from (1) (see https://codeberg.org/librewolf/bsys6/actions/runs/105/jobs/3/attempt/1#jobstep-2-3266).
- ✅ The setup file bundles the VC redist executable, which I don't think is needed if the necessary files are already bundled. Firefox doesn't bundle them, either.
- ✅ For some reason, the executable
nmhproxy.exe is not getting signed. Is this file added later on in the process for some reason, or does it come from a different location than is traversed by the line below? find "$SOURCE/obj-$MOZ_TARGET/dist/bin" -type f -name "*.exe" | while IFS= read -r file; do
- ✅ Then there's the signing of the DLL files: Mozilla signs them all, but there's a subset that's already signed by Microsoft, so those shouldn't be touched. If
ossign doesn't overwrite existing certificates, then we can just let it skip them, otherwise we should first check for every DLL if they're already signed (in https://codeberg.org/librewolf/bsys6/src/branch/master/src/build.sh), or put them in an array manually.
| Signed by |
EXE File |
| OSSign |
desktop-launcher\desktop-launcher.exe |
| OSSign |
uninstall\helper.exe |
| OSSign |
librewolf.exe |
| x |
nmhproxy.exe |
| OSSign |
plugin-container.exe |
| OSSign |
private_browsing.exe |
| Signed by |
DLL File |
| x |
gmp-clearkey0円.1\clearkey.dll |
| x |
installation_dir_layout\versioned\InstallationDirLayout.dll |
| x |
AccessibleMarshal.dll |
| Microsoft |
CoreMessagingXP.dll |
| x |
dxcompiler.dll |
| x |
freebl3.dll |
| x |
gkcodecs.dll |
| x |
InstallationDirLayout.dll |
| x |
lgpllibs.dll |
| x |
libEGL.dll |
| x |
libGLESv2.dll |
| Microsoft |
marshal.dll |
| Microsoft |
Microsoft.InputStateManager.dll |
| Microsoft |
Microsoft.Internal.FrameworkUdk.dll |
| Microsoft |
Microsoft.UI.Composition.OSSupport.dll |
| Microsoft |
Microsoft.UI.Input.dll |
| Microsoft |
Microsoft.UI.Windowing.Core.dll |
| Microsoft |
Microsoft.UI.Windowing.dll |
| x |
mozavcodec.dll |
| x |
mozavutil.dll |
| x |
mozglue.dll |
| x |
mozinference.dll |
| Microsoft |
msvcp140.dll |
| Microsoft |
msvcp140_atomic_wait.dll |
| x |
notificationserver.dll |
| x |
nss3.dll |
| x |
onnxruntime.dll |
| x |
softokn3.dll |
| Microsoft |
vcruntime140.dll |
| Microsoft |
vcruntime140_1.dll |
| x |
xul.dll |
There are a couple of things related to DLL files in LW releases I've just found:
1. ✅ I saw that Firefox now also ships `msvcp140_atomic_wait.dll` in addition to `msvcp140.dll`, `vcruntime140.dll` and `vcruntime140_1.dll`. We should do the same.
1. ✅ The commit above doesn't yet address the next issue: the DLL source (https://github.com/abbodi1406/vcredist/releases) doesn't include ARM files, so our ARM release doesn't ship any of the files from (1) (see https://codeberg.org/librewolf/bsys6/actions/runs/105/jobs/3/attempt/1#jobstep-2-3266).
1. ✅ The setup file bundles the VC redist executable, which I don't think is needed if the necessary files are already bundled. Firefox doesn't bundle them, either.
1. ✅ For some reason, the executable `nmhproxy.exe` is not getting signed. Is this file added later on in the process for some reason, or does it come from a different location than is traversed by the line below? https://codeberg.org/librewolf/bsys6/src/commit/aaa6e6d41caf59bc0c47a3a1ce51bde67df2d93c/src/build.sh#L19
1. ✅ Then there's the signing of the DLL files: Mozilla signs them all, but there's a subset that's already signed by Microsoft, so those shouldn't be touched. If `ossign` doesn't overwrite existing certificates, then we can just let it skip them, otherwise we should first check for every DLL if they're already signed (in https://codeberg.org/librewolf/bsys6/src/branch/master/src/build.sh), or put them in an array manually.
Signed by | EXE File
--|--
OSSign | desktop-launcher\desktop-launcher.exe
OSSign | uninstall\helper.exe
OSSign | librewolf.exe
x | nmhproxy.exe
OSSign | plugin-container.exe
OSSign | private_browsing.exe
Signed by | DLL File
--|--
x | gmp-clearkey0円.1\clearkey.dll
x | installation_dir_layout\versioned\InstallationDirLayout.dll
x | AccessibleMarshal.dll
Microsoft | CoreMessagingXP.dll
x | dxcompiler.dll
x | freebl3.dll
x | gkcodecs.dll
x | InstallationDirLayout.dll
x | lgpllibs.dll
x | libEGL.dll
x | libGLESv2.dll
Microsoft | marshal.dll
Microsoft | Microsoft.InputStateManager.dll
Microsoft | Microsoft.Internal.FrameworkUdk.dll
Microsoft | Microsoft.UI.Composition.OSSupport.dll
Microsoft | Microsoft.UI.Input.dll
Microsoft | Microsoft.UI.Windowing.Core.dll
Microsoft | Microsoft.UI.Windowing.dll
x | mozavcodec.dll
x | mozavutil.dll
x | mozglue.dll
x | mozinference.dll
Microsoft | msvcp140.dll
Microsoft | msvcp140_atomic_wait.dll
x | notificationserver.dll
x | nss3.dll
x | onnxruntime.dll
x | softokn3.dll
Microsoft | vcruntime140.dll
Microsoft | vcruntime140_1.dll
x | xul.dll