SKILL.md
$2a
-
Install Windows Tooling
To compile Windows desktop applications, Visual Studio (not VS Code) is strictly required. Install Visual Studio with the "Desktop development with C++" workload.
If automating via command line, use the following workload ID:
vs_setup.exe --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended
-
Decision Logic: Target Platform Configuration
STOP AND ASK THE USER: "Which target platforms are you configuring for this environment? (A) Windows Desktop, (B) Android, or (C) Both?"
- If (A) Windows Desktop: Proceed to Step 5. Disable Android and Web if unnecessary:
flutter config --no-enable-android
flutter config --no-enable-web
flutter config --enable-windows-desktop
- If (B) Android: Proceed to Step 4. Disable Windows desktop if unnecessary:
flutter config --no-enable-windows-desktop
- If (C) Both: Execute Steps 4 and 5. Ensure both platforms are enabled.
-
Configure Android Tooling on Windows
- Install Android Studio and the Android SDK Command-line Tools via the SDK Manager.
- For physical devices: Enable "Developer options" and "USB debugging" on the device. Install the OEM USB drivers for Windows.
- For emulators: Enable hardware acceleration in the AVD Manager by selecting a "Hardware" graphics acceleration option under "Emulated Performance".
-
Build and Package Windows Desktop Applications
To compile the Windows application, execute:
flutter build windows
To package the application manually, gather the following files from build\windows\runner\Release\:
- The executable (
<project_name>.exe)
- All
.dllfiles (e.g.,flutter_windows.dll)
- The
datadirectory
- Visual C++ redistributables (
msvcp140.dll,vcruntime140.dll,vcruntime140_1.dll) placed adjacent to the.exe.
Optional: To rename the generated executable, modify the BINARY_NAME in windows/CMakeLists.txt:
# Change this to change the on-disk name of your application.
set(BINARY_NAME "CustomAppName")
-
Generate Self-Signed Certificates for MSIX Packaging (OpenSSL)
If the user requires local testing of an MSIX package, generate a .pfx certificate. Ensure OpenSSL is in the PATH, then execute:
openssl genrsa -out mykeyname.key 2048
openssl req -new -key mykeyname.key -out mycsrname.csr
openssl x509 -in mycsrname.csr -out mycrtname.crt -req -signkey mykeyname.key -days 10000
openssl pkcs12 -export -out CERTIFICATE.pfx -inkey mykeyname.key -in mycrtname.crt
Instruct the user to install CERTIFICATE.pfx into the local machine's Certificate Store under "Trusted Root Certification Authorities".
-
Validate-and-Fix Feedback Loop
Execute the Flutter diagnostic tool to verify the environment:
flutter doctor -v
- Condition: If
cmdline-tools component is missingis reported, instruct the user to open Android Studio -> Tools -> SDK Manager -> SDK Tools, and check "Android SDK Command-line Tools".
- Condition: If Visual Studio toolchain issues are reported, verify the
Microsoft.VisualStudio.Workload.NativeDesktopworkload is fully installed.
- Condition: If
flutteris not recognized, verify the PowerShellPATHinjection succeeded and restart the terminal process.
Constraints
- Do not include external URLs or hyperlinks in any output.
- Do not recommend placing the Flutter SDK in directories requiring elevated privileges (e.g.,
C:\Program Files\).
- Do not confuse Visual Studio Code with Visual Studio; the latter is strictly required for the C++ toolchain on Windows.
- Always assume the user is operating within a standard Windows command prompt or PowerShell environment unless otherwise specified.
- Never skip the
flutter doctorvalidation step; it is mandatory for confirming environment integrity.