41 Commits

Author SHA1 Message Date
Matthijs Lavrijsen
58b909037f Add ARM64 support (#641)
* Add ARM64 build configurations to projects

* StartMenu: add ARM64 support

* Add support for IAT hooking on ARM64

* Add ARM64 support to Classic IE

* Add ARM64 support to installer

NB: WiX 3.14.0.3910 or higher is required to create the MSI

* Revert whitespace change

* Separate x86/x64 and ARM64 installers

* Change suffix of ARM64 binaries

* Put also ARM64 MSI to final installer

* Fix sln

* Build some DLLs as ARM64X

These are meant to be loaded to both x64 and ARM64 processes.
We will compile them as ARM64X (when building for ARM64).
That way they will contain both x64 and ARM64 code paths.

https://learn.microsoft.com/en-us/windows/arm/arm64x-pe

* Make sure x64 installer cannot be installed on ARM64

In case if somebody manually tries to install x64 MSI on ARM64.
This is not supported/working scenario.

---------

Co-authored-by: ge0rdi <ge0rdi@users.noreply.github.com>
2025-05-08 10:14:56 +02:00
ge0rdi
077afd2377 Add missing version info 2024-12-20 14:07:09 +01:00
ge0rdi
5809217adc Use WiX Toolset v3.14 2024-12-03 10:24:03 +01:00
ge0rdi
211d12be70 Don't install new Immersive skin on Windows 7
It uses metro colors so it works only on Win8+.

https://github.com/Open-Shell/Open-Shell-Menu/discussions/1866#discussioncomment-8906191
2024-03-25 20:10:34 +01:00
ge0rdi
ccf14504c9 Install new Immersive skin on all systems
There is no need to limit it just to Win10+ as it works well also on
older Windows.

https://github.com/Open-Shell/Open-Shell-Menu/discussions/1866
2024-03-13 19:54:52 +01:00
ge0rdi
f897241a08 Use nlohmann.json NuGet package instead of direct file
This way it will be easier to update to new version (when released).
And it will be also clear that we have dependency on this 3rd party
library.
2023-07-26 12:05:44 +02:00
ge0rdi
bbe2aa5d2f Setup: Change symbols package name to OpenShellSymbols_*
This way it will be nicely sorted after main OpenShellSetup_* package in assets page.
2023-07-24 18:37:35 +02:00
ge0rdi
931e5e831f Setup: Upload Utility.exe artifact
Utility tool can be used for multiple purposes - like enabling logging,
or manual uninstall.
We will upload and deploy it along other binaries.
2023-07-19 19:45:45 +02:00
ge0rdi
6c6e1515ef Utility: Various fixes
* Add files/keys from more recent Open-Shell versions
* Fix website links
2023-07-19 19:44:50 +02:00
ge0rdi
9800b03b63 Remove GetDocRelativePath function
Help is always located in the same folder as binary that is using it.
2023-06-10 21:50:46 +02:00
ge0rdi
8fee436996 Build: Change output paths
All output (and intermediate) files will go to folder outside of source tree.
2023-06-10 21:50:46 +02:00
ge0rdi
9f949dd99b Remove old updating mechanism
We have our own updating already and don't plan to use old one.
There is no need to keep it around.
2023-06-09 17:52:18 +02:00
ge0rdi
714c98130a Simplify project files
Put common build settings into separate props file.
This way it will be much easier to do changes that should affect all
projects in the future.
2023-06-09 17:52:18 +02:00
ge0rdi
ab4771e015 Setup: Don't install Classic IE by default
IE was deprecated long ago. There is no need to install Classic IE by
default.
Users will be still able to install it if they want.
2023-01-30 19:34:23 +01:00
ge0rdi
2d6fb1f3bb Setup: Recognize also /h and /help parameters (#1278)
Otherwise they will get passed to `msiexec` that will display its help
window that may confuse our users (as they expect our help to be displayed).
2023-01-13 16:42:16 +01:00
Eli Farmer
ecd17cb628 New default Immersive skin for Win10/11 (#538)
Fixes #538
2023-01-06 18:05:01 +01:00
ge0rdi
cf763d3a32 Optimize main icon for size
Bigger icons are stored as PNG.
2023-01-06 18:05:01 +01:00
ge0rdi
e25b656275 Use VS2022
Note that `_ATL_MODULES` define is now needed for compatibility with C++
conformance mode (`/permissive-`).
More details here:
https://developercommunity.visualstudio.com/t/Crash-in-ATL-CEnumerator::MoveNext-after/10116823
2022-12-28 19:26:22 +01:00
bonzibudd
d28c8e512a New icons and installer artwork
This adds the new artwork for the main icon and installer screens.
Addresses #31.

Update classic button thumbnail

Improve setup banner icon

Fix web.ico size

New installer art

Fix dialog2
2022-12-07 11:58:37 +01:00
ge0rdi
a0a03760cd Build: Fix source indexing
x64 version of pdbstr doesn't work (because of missing __CxxFrameHandler4 on Windows Server 2019).
Fortunately it seems that x86 version works well, so we can use that one.
2022-12-06 19:17:18 +01:00
germanaizek
a20215d9da Replace 'push*' -> 'emplace*' if possible and use std::move() 2022-05-12 20:54:42 +02:00
ge0rdi
b2df22104e Setup: Fix installer warning on Windows 7
`Warning 1946. Property 'System.AppUserModel.ToastActivatorCLSID' for shortcut 'Open-Shell Update.lnk' could not be set.`

Windows 7 doesn't recognize `System.AppUserModel.ToastActivatorCLSID`
name so we have to use GUID directly.

https://docs.microsoft.com/en-us/troubleshoot/windows/win32/warning-1946-when-you-install-installer-package

Fixes #507.
2020-10-23 18:07:37 +02:00
ge0rdi
e2ff745949 Skin: Add support for Immersive* color names 2020-09-25 20:10:39 +02:00
ge0rdi
ed3da927cc Update: Use desktop toast notifications on Windows 10
Use toast notification to announce new update on modern Windows
versions.

The advantage of toasts is that they look more natural and they are
persistent. So one can find the information about new update in action
center even after notification timed out.
2020-09-24 18:52:24 +02:00
ge0rdi
afaf16620a Setup: Bring back Update component
This reverts commit ed3675ca7f.
This reverts commit ee59bb76de.
2020-09-24 18:52:24 +02:00
ge0rdi
7ee668e474 Installer: Fix URLs
Fixes #404
2020-09-01 19:28:04 +02:00
ge0rdi
ee59bb76de Setup: Don't add symbols for unused update.exe 2020-09-01 19:28:04 +02:00
ge0rdi
3eb134a280 Setup: Store symbols in symstore compatible way
This way they can be directly extracted to symbol server cache.
So any tool that uses _NT_SYMBOL_PATH will be able to use them
automatically.
2020-09-01 19:28:04 +02:00
ge0rdi
ed3675ca7f Remove non-working update component from installation
We can add it later once it will be ready and working.
2020-08-18 15:28:09 +02:00
ge0rdi
695e419722 Setup: Use high version when doing local build
This way the build can be installed over existing older installation.
2020-08-14 18:05:56 +02:00
ge0rdi
cc02e38aef StartMenuHelper: Add shell extension to desktop packaged applications
This will allow `Pin to start` for desktop applications downloaded from
Microsoft Store (such as Windows Terminal).
2020-06-07 07:21:19 +02:00
ge0rdi
9c119c6e29 StartMenuHelper: Simplify shell extension registration 2020-06-07 07:21:19 +02:00
ge0rdi
261929f4c3 Don't use obsolete /Gm switch
`cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release`
2020-06-07 07:21:17 +02:00
ge0rdi
f33cd60b84 Use VS2019 2019-10-01 19:07:03 +02:00
ge0rdi
a16729129a SetupHelper: Try to terminate ClassicShell Start Menu (to make upgrade a bit easier)
During upgrade from ClassicShell we'll try to terminate
ClassicStartMenu.exe as well. So that installer won't complain about files
being in use.
2018-08-19 08:56:17 +02:00
ge0rdi
45ab50e022 Setup: Remove obsolete/unused stuff
There is no need for password protected beta versions.
2018-08-19 08:56:17 +02:00
ge0rdi
bdaec76e1c Setup: Remove warning about very old ClassicShell version
Latest version of ClassicShell was 4.3.1. There is no reason to display
any warning about very old versions (< 2.0.0).

Besides, this will remove dependency on version.dll which could be misused
for DLL hijacking attack.

Fixes #72
2018-08-19 08:56:17 +02:00
ge0rdi
16de25a8b0 Use C++17 by default
Plus C++ standard conformance fixes.
2018-08-18 20:04:21 +02:00
ge0rdi
c350b0c037 Installer: Remove "View Readme file" checkbox
One can easily find Readme shortcut in Open-Shell's start menu folder.
2018-08-13 19:46:35 +02:00
ge0rdi
2fb9448ffd Few improvements (#65)
* Fix naming inconsistencies

'Menu' vs 'StartMenu'

* Installer: Remove Facebook link

* Installer: Remove PayPal donate remnants

* OpenShellReadme: Remove info about product version
2018-08-13 00:28:42 -04:00
Xenhat
f4dd56155b Rebrand to Open-Shell (#36) (#58)
* Rebrand to Open-Shell

* Slight installer branding improvement
2018-08-05 15:22:10 -04:00