Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppControl Manager is now Native AOT and Fully Trimmed #608

Merged

Conversation

HotCakeX
Copy link
Owner

@HotCakeX HotCakeX commented Feb 20, 2025

  • ✅ This change reduces the MSIX package file size from 85MB down to 32MB and the MSIXBundle package file size from 162MB down to 65MB (because it contains both ARM64 and X64 packages).

  • ✅ The performance and launch time of the AppControl Manager has been substantially improved thanks to being natively compiled into machine code. That means more work is done during the packaging process and less time is spent on user's system.

  • ✅ Removed the old DataGrid package and replaced it with the modern built-in ListView. This changes fixes an issue that was previously present due to the old design of DataGrid. As a result, you no longer see a message in the Settings page of the app when running the app in a VM and animations are not enabled on the system.

  • ✅ The design of all of the data grids have been changed, they are more modern, touch friendly and custom built specifically for the AppControl Manager application. One of the benefits it has is that I can improve it whenever necessary without needing to wait for a 3rd party, making the project more independent.

  • ✅ Bumped the app version to 1.9.1.0

  • ✅ Increased the amount of information that is written to the log file in case there is an error in the app, it provides more information about the cause of it.

AppControl Manager is now Native AOT and Fully Trimmed
@HotCakeX HotCakeX added the Enhancement 💯 New feature or request label Feb 20, 2025
@HotCakeX HotCakeX self-assigned this Feb 20, 2025
@Copilot Copilot bot review requested due to automatic review settings February 20, 2025 16:47
@HotCakeX HotCakeX linked an issue Feb 20, 2025 that may be closed by this pull request

Choose a reason for hiding this comment

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

Copilot reviewed 34 out of 49 changed files in this pull request and generated no comments.

Files not reviewed (15)
  • AppControl Manager/AppControl Manager.csproj: Language not supported
  • AppControl Manager/MainWindow.xaml: Language not supported
  • AppControl Manager/MyRoots.xml: Language not supported
  • AppControl Manager/Package.appxmanifest: Language not supported
  • AppControl Manager/Pages/AllowNewApps/AllowNewAppsEventLogsDataGrid.xaml: Language not supported
  • AppControl Manager/Pages/AllowNewApps/AllowNewAppsLocalFilesDataGrid.xaml: Language not supported
  • AppControl Manager/Pages/CreateDenyPolicyFilesAndFoldersScanResults.xaml: Language not supported
  • AppControl Manager/Pages/CreatePolicy.xaml: Language not supported
  • AppControl Manager/Pages/AllowNewApps/AllowNewAppsStart.xaml.cs: Evaluated as low risk
  • AppControl Manager/Pages/CreateDenyPolicy.xaml.cs: Evaluated as low risk
  • AppControl Manager/Others/FileCertificateInfoCol.cs: Evaluated as low risk
  • AppControl Manager/MainWindow.xaml.cs: Evaluated as low risk
  • AppControl Manager/Others/GlobalVars.cs: Evaluated as low risk
  • .github/workflows/Build AppControl Manager MSIX Package.yml: Evaluated as low risk
  • AppControl Manager/Others/TaskSchedulerHelper.cs: Evaluated as low risk
Comments suppressed due to low confidence (3)

AppControl Manager/Others/ProcessStarter.cs:55

  • [nitpick] The error message could be more descriptive. Suggestion: Change the error message to 'Command '{command} {arguments}' failed with exit code {process.ExitCode}. Standard Error: {error}. Standard Output: {output}'.
throw new InvalidOperationException($"Command '{command} {arguments}' failed with exit code {process.ExitCode}. Error: {error}");

AppControl Manager/Others/ProcessStarter.cs:53

  • The use of 'is not 0' for checking the exit code is unconventional. Suggestion: Change 'is not 0' to '!= 0' for consistency.
if (process.ExitCode is not 0)

AppControl Manager/Others/ProcessStarter.cs:85

  • The use of 'is not 0' for checking the exit code is unconventional. Suggestion: Change 'is not 0' to '!= 0' for consistency.
if (process.ExitCode is not 0)
Made multiple UI elements NAOT friendly

Removed lots of empty lines

Improved error info written to the log file when an error occurs

Fixed columns in ListViews
@HotCakeX HotCakeX merged commit 5c5ab4c into main Feb 21, 2025
4 checks passed
@HotCakeX HotCakeX deleted the Native-AOT-and-Trimming-implementation-in-the-AppControl-Manager branch February 21, 2025 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 💯 New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make AppControl Manager NAOT (and Trim) compatible [Bug]: Scroll bars stop working in System Information
1 participant