Commit Graph
98 Commits
Author SHA1 Message Date
Whindmar Saksit f5a7d89955 [RAPPS] Use the package name if REGNAME is not set when uninstalling (#9058) 2026-05-25 22:21:20 +02:00
Whindmar Saksit 6644a55343 [RAPPS] Automatically install package dependencies (#8963) 2026-05-14 13:23:40 +02:00
Whindmar Saksit f9b3aad55e [RAPPS] Don't display duplicate uninstall entries when WoW64 keys are unsupported (#8253)
This only happens on 64-bit because 32-bit was being conservative.
2026-03-08 19:00:39 +01:00
Whindmar SaksitandCarl J. Bialorucki c356035860 [RAPPS] Hide packages not compatible with the current NT version (#8398)
- Add NTVersion to filter app packages and hide incompatible packages. The format is: "Max-", "Min-Max", "Min" or "Min+".

---------

Co-authored-by: Carl J. Bialorucki <[email protected]>
2026-01-08 14:14:42 -06:00
Whindmar Saksit 8ce870d87b [RAPPS] Added /S switch for silent installs (#8241)
MSI, Inno and NSIS installers are automatically detected (also if they are nested by ExeInZip). Others can specify command line switches in the rapps-db package.
2025-08-29 15:18:55 +02:00
Whindmar Saksit 37e2c59096 [RAPPS] Add ExeInZip installer type to support running installers in zip files (#7866) 2025-04-29 15:39:22 +02:00
Hermès Bélusca-Maïto 774b3a6e1d [RAPPS] Correctly update the Install/Uninstall/... buttons (#7351)
The Install/Uninstall/Modify/... buttons stay disabled by default, unless:

- For installed apps: when an app item is selected, Uninstall (and
  Registry-remove) are enabled, and Modify is enabled under certain
  conditions.

- For available apps:
  * Modify, Uninstall and Registry-remove are always disabled.
  * When an app item is selected, Install is enabled.
  * Install is also enabled if there is at least one application
    selected for installation (box checked), in which case the button
    stays enabled even while changing across apps categories.
2025-04-04 18:18:49 +02:00
Whindmar Saksit 7dc7b866b1 [RAPPS] Don't delete downloaded ZIP/CAB even if configured to (#7791) 2025-03-20 14:32:07 +01:00
Whindmar Saksit d769f5675d [RAPPS] Must apply settings changes when a new download folder is created (#7792) 2025-03-19 12:24:52 +01:00
Whindmar Saksit a236c39ee5 [RAPPS] Added option to display small application icons (#7723) 2025-02-23 19:27:02 +01:00
Whindmar Saksit f3c750787b [RAPPS] Ask user if they want to run the zip app they just installed (#7719)
After the zip has been installed, ask the user if they want to run the extracted application.
2025-02-18 13:23:25 +01:00
Whindmar Saksit 5bc6d59142 [RAPPS] Refresh item info after installer completes (#7697)
- Refresh the details view of the item that was just installed.
- Hint update of uninstallers list is needed.
- Restore focus correctly after installer process finishes.

CORE-17677
2025-02-07 21:33:19 +01:00
Whindmar Saksit a23db39c8a [RAPPS] Allow database to override download filename (#7668)
http://example.com/setup.exe?foo=bar needs to use be able to use setup.exe as the
filename.
2025-01-30 17:46:39 +01:00
Whindmar Saksit 3ff8adc553 [RAPPS] Protect database update with a mutex (#7006) 2025-01-11 19:52:07 +01:00
Whindmar Saksit 053939e27c [RAPPS] Hide the main window during active download/install if the user closes it (#7014) 2024-09-26 18:58:30 +02:00
Hermès Bélusca-Maïto 4e59858941 [RAPPS] Change the "Welcome" text with a suitable explanatory one in APPWIZ-mode (#6655)
- Delete CAppRichEdit::SetWelcomeText() and move its implementation
  inside CAppInfoDisplay::SetWelcomeText().

- Make CAppInfoDisplay::SetWelcomeText() select a suitable text,
  depending on normal mode or APPWIZ mode.

- IDS_WELCOME_TITLE: Remove the double \n\n from the resources,
  and add them programmatically instead.
2024-09-18 12:31:51 +02:00
Hermès Bélusca-Maïto 5aecdd0840 [RAPPS] Don't display the "Selected" apps count in APPWIZ mode (#6655)
The count makes sense only in normal mode, where we can select many apps
for bulk-install.

Split the IDS_APPS_COUNT string into it and IDS_APPS_SELECT_COUNT, and
append the number of selected apps only when we aren't in APPWIZ mode.
2024-09-18 12:31:50 +02:00
Hermès Bélusca-Maïto f23394986a [RAPPS] Recalculate the toolbar max buttons width when deleting the buttons (#6655)
Done so that the toolbar can display correctly the buttons,
and their labels if possible, when resizing the RAPPS window.
2024-09-18 12:31:48 +02:00
Hermès Bélusca-Maïto 9835ea27d2 [RAPPS] Build up a minimal UI for RAPPS started in AppWiz mode (#6655)
- Only the "Installed/Applications/Updates" items are shown.
- Delete the "Settings" item in the "File" menu.
- Remove unnecessary toolbar buttons: ID_INSTALL, ID_CHECK_ALL, ID_RESETDB.

- gui.cpp CMainWindow::ProcessWindowMessage():
  Forbid the "Install" tree-view section to collapse.

  However, there is currently a bug in Wine's comctl32, which ignores
  the value returned from the TVN_ITEMEXPANDING notification handler
  to control the collapse/expansion behaviour.

  https://bugs.winehq.org/show_bug.cgi?id=53727

  As a result, this feature doesn't work in ReactOS yet.
2024-09-18 12:31:47 +02:00
Hermès Bélusca-Maïto b1a3479500 [RAPPS] Remove the IDR_APPLICATIONMENU menu (#6655)
It is redundant with the "Programs" one from the main menu.
2024-09-18 12:31:46 +02:00
Hermès Bélusca-Maïto 39867020f7 [RAPPS] Separate the banner-like resource strings from the other ones. 2024-09-18 12:31:45 +02:00
Hermès Bélusca-Maïto 2a2df969b0 [RAPPS] Simplify CAppsListView::SetCheckboxesVisible() into ShowCheckboxes() 2024-09-18 12:31:43 +02:00
Hermès Bélusca-Maïto 385274e2dd [RAPPS] Merge CMainToolbar::Show/HideButtonCaption() into one single function. 2024-09-18 12:31:41 +02:00
Whindmar Saksit 163f3407c8 [RAPPS] Show listview context menu when the keyboard menu button/Shift+F10 is pressed (#5620) 2024-08-31 18:30:45 +02:00
Whindmar Saksit 0e0f99744f [RAPPS] Refreshing the Installed list should restore the selected item (#5676) 2024-08-22 23:21:59 +02:00
Whindmar Saksit d73a838245 [RAPPS] Load icons on background thread (#6881)
- Load icons on background thread to massively reduce loading time.

- Use SM_CXICON sized icons consistently instead of hardcoding 32 in some places.
2024-06-13 02:20:41 +02:00
Whindmar Saksit 57b775ef6e [RAPPS] Automatically generate installer/uninstaller for downloaded zip/cab files (#6652)
With a single database line added to applications distributed as zip/cab allows rapps.exe to act as an installer that automatically extracts the files and creates a startmenu shortcut. It can also uninstall the extracted files (and optionally other files and registry entries created by the application).
2024-05-08 23:58:54 +02:00
Katayama Hirofumi MZ e694e24720 [RAPPS] Don't download database at startup if appwiz mode (#6319)
Providing quick access of Control
Panel "Add/Remove Programs".
JIRA issue: CORE-19419
- Don't download the database if
  bAppwizMode in ParseCmdAndExecute
  function.
- Add CAppDB::GetAvailableCount method.
- Add CMainWindow::CheckAvailable method.
- Use CMainWindow::CheckAvailable in
  some cases of TVN_SELCHANGED handling.
2024-01-10 11:36:30 +09:00
Whindmar Saksit 4b03981846 [RAPPS] Improve LicenseType handling (#5809)
Tries now to map the "License" text set to "Freeware" to the
LICENSE_FREEWARE "LicenseType" so it is translated correctly (LoadString).

Fixes the following:

- If only the "License" field is set in the DB, nothing will change
  (this applies to 99% of the current entries in the DB).

- If both "LicenseType" and "License" are set, both will be used
  (no observable change in behavior): "Open Source (GPL v2)" etc.

- If only "LicenseType" is set, it will now display just the type
  "Freeware" instead of "Freeware ()".
  This is done only for "Freeware", because the others (the open source ones)
  have many variations. "OpenSource", "Open Source", "Open Source (GPL)" etc.
2023-11-04 22:08:10 +01:00
Thamatip Chitpong ec974d8a81 [RAPPS] Main toolbar: Tooltip strings refactoring (#5007)
- Use ATL CString
- Remove duplicated tooltip strings
2023-07-08 02:02:10 +03:00
Stanislav Motylkov acbb73a89d [RAPPS] Open "Installed" section in Appwiz-mode when RAPPS already runs
CORE-18981
2023-05-27 15:38:01 +03:00
Stanislav Motylkov ff1fa4f38a [RAPPS] Add /APPWIZ command-line key to open "Installed" section
Addendum to ab7ddc44. CORE-18981
2023-05-27 15:36:53 +03:00
Stanislav Motylkov d6fecc52d1 [RAPPS] Move CMainWindow creation to upper function 2023-05-27 15:31:03 +03:00
Hermès Bélusca-Maïto fefc5f4823 [RAPPS] Centralize RAPPS exposed names: registry & user local settings (#4214)
Centralize the names of the RAPPS' registry setting sub-key, and
user local settings & offline apps database sub-directories.

- Change the name of the application database sub-directory from
  "rapps\rapps" to "RApps\appdb".

- Adjust the documentation to reflect this.

- Simplify CConfigParser constructor by removing GetINIFullPath().
2023-05-16 12:37:49 +02:00
Hermès Bélusca-Maïto 3eb6cca9bd [RAPPS] Cleanup headers inclusions (#4206) 2023-05-10 12:12:25 +02:00
Joachim Henze a9b1e059f4 [RAPPS] Style-addendum, no functional change (#5091)
* Just rename the 4 new files. Absolutely no other change.
* CMakeLists.txt, adapt the filenames
* Adapt all includes to make it compile
* CApplicationDB->CAppDB
* CApplicationInfo->CAppInfo
* Follow Mark Jansens good example and antipad the headers
2023-02-28 01:00:29 +01:00
Mark Jansen 33c2903e6d [RAPPS] Rework application handling
Previously, there would be function duplication between installed and available applications.
Now this is handled with polymorphism, which allows to re-use a lot of code.
Additionally, toolbar buttons are properly disabled now.
The mutex used to guard rapps' single instance is renamed,
so that the 'new' and old rapps can be run at the same time for testing.

CORE-18459
2023-02-20 19:30:02 +01:00
Thamatip Chitpong 51c38aeb89 [RAPPS] Add tooltip for "Refresh" and "Update Database" (#4975) 2023-01-06 13:23:25 +01:00
Katayama Hirofumi MZ a92304fdd4 [RAPPS] Enable _DEBUG and fix assertion failures
CORE-17505
2022-01-24 10:50:26 +09:00
Hermès Bélusca-Maïto a6bf77e7b9 [SDK:REACTOS] Move our ROS-specific header-only UI libraries into a "ui" sub-folder. (#4205) 2022-01-06 02:17:25 +01:00
Mark Jansen acc25ce914 [RAPPS] Show the user that there are no search results
CORE-17944
2021-12-31 21:27:48 +01:00
Hermès Bélusca-Maïto b5a6357d93 [RAPPS] Remove some dead code.
CAvailableApps::GetFolderPath() and friends are unnecessary, since
the data they return are public members of the m_Strings global structure,
that are already being used directly by other code.
2021-12-29 01:28:55 +01:00
Stanislav Motylkov f6edd653b0 [RAPPS] Fix Ctrl+F hotkey not working regression
Addendum to 4c7bd34a. CORE-17881
2021-12-07 20:36:49 +03:00
Mark Jansen 143b2a5035 [RAPPS] Speed up installed application loading
Only load in details when we are going to display them
2021-10-13 19:27:40 +02:00
Mark Jansen 9bdeaca56e [RAPPS] Speed up app loading by caching the INI sections 2021-10-03 20:26:25 +02:00
Mark Jansen 6f9dd96dcf [RAPPS] Cleanup 2021-10-03 20:26:19 +02:00
Mark Jansen ad83af36dd [RAPPS] Move the CConfigParser to a new file 2021-09-21 19:00:21 +02:00
Hermès Bélusca-Maïto 9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Mark Jansen 675edad96f [RAPPS] Fix double free when closing rapps 2021-06-10 21:25:34 +02:00
Timo Kreuzer 1f5f614c7a [RAPPS] Implement support for architecture specific sections
See CORE-17616
2021-06-05 19:17:05 +02:00