Skip to content

Commit e15f67d

Browse files
Added Readme Files
1 parent 9a29c86 commit e15f67d

34 files changed

Lines changed: 3019 additions & 313 deletions

File tree

PowerShell-Script_Archive/Development & IT Tools/DevDeploy Environment Manager/README.md

Lines changed: 41 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -12,97 +12,76 @@
1212
<!-- ABOUT THE PROJECT -->
1313

1414
# 💾 About The Project <div align="center">
15-
## Screenshot may be slightly outdated. Sorry in advance! :)
16-
<br />
17-
<div align="center">
18-
<!-- <a href="Screenshot"> -->
19-
<!-- <img src="https://i.postimg.cc/Y9QyWx7m/image.png" alt="GUI Screenshot" width="1280" height="720"> -->
20-
<!-- </a> -->
21-
</div>
2215

23-
## Dev-Deploy Environment Manager v0.4
16+
## Dev-Deploy Environment Manager
2417

25-
Dev-Deploy Environment Manager is a comprehensive PowerShell GUI utility, crafted with WPF/XAML, designed to streamline the setup and management of Python and .NET development environments. It provides an intuitive interface for discovering installed software, searching for available versions via `winget`, and facilitating installations (including `pip` package management for Python). Version 0.4 introduces robust UI theming, efficient background operations, and reliable parsing of `winget` results.
18+
**Note:** This file (`Untitled (2).PS1`) is the **Dev-Deploy Environment Manager** (v0.5).
2619

27-
Built by: Zachary Whiteman & Google Gemini
20+
`Dev-Deploy` is a comprehensive utility for discovering, installing, and managing Python and .NET development environments on Windows. It provides a clean, tabbed graphical user interface (GUI) to simplify the setup and maintenance of your coding tools.
21+
22+
Built by: Zachary Whiteman & Google Gemini Ai.
2823

2924
<p align="right">(<a href="#readme-top">back to top</a>)</p>
3025

3126
<!-- GETTING STARTED -->
3227

3328
# 🔰 Getting Started
34-
This application is a single PowerShell script designed to simplify your development environment setup.
29+
This tool helps you manage your programming runtimes and SDKs.
3530

3631
## 🕰️ Prerequisites
3732
To run this script, you will need:
3833

39-
* **Windows Operating System:** (Windows 7 or later).
40-
* **PowerShell 5.1 or newer:** (PowerShell Core is supported).
41-
* **Required .NET Assemblies:** `PresentationFramework`, `PresentationCore`, `WindowsBase`, `System.Windows.Forms`, `System.Drawing` (included with modern Windows installations).
42-
* **`winget`:** The Windows Package Manager (`winget`) must be installed and accessible in your system's PATH.
43-
* **Python:** While the tool helps manage Python, some `pip` functionalities assume Python is generally available for selected installations.
34+
* **Windows Operating System.**
35+
* **PowerShell 5.1 or newer.**
36+
* **.NET Framework:** Required for the Windows Forms/WPF GUI.
37+
* **Winget:** The Windows Package Manager is used for searching and installing new versions of Python and .NET.
4438

4539
## 💽 Installation & Execution
46-
1. **Download:** Download the `DevDeploy Envirnment Manager.PS1` script file.
40+
1. **Download:** Download the script file.
4741
2. **Unblock:** Right-click the file, go to Properties, and click `Unblock` if the file was downloaded from the internet.
48-
3. **Run:** Execute the script from a PowerShell console or by double-clicking it.
42+
3. **Run:** Execute the script from a PowerShell console.
4943
```powershell
50-
.\DevDeploy Envirnment Manager.PS1
44+
."\Untitled (2).PS1"
5145
```
52-
The PowerShell console window will automatically minimize upon launch for a cleaner GUI experience.
5346
5447
<p align="right">(<a href="#readme-top">back to top</a>)</p>
5548
56-
## 🚀 Usage
57-
The application features a tabbed interface for managing different development environments:
58-
59-
* **Python Environment Tab:**
60-
* **"Refresh All"**: Scans for installed Python versions and lists available ones via `winget`.
61-
* **"Installed Python Versions"**: Displays detected Python installations.
62-
* **"Available via Winget"**: Shows Python versions available for installation. Select an item and click "Install Selected Python Version".
63-
* **"Manage Packages (pip) for Selected Installation"**: After selecting an installed Python version, enter a package name and click "Install Package" to install it via `pip`.
64-
* **.NET Environment Tab:**
65-
* **"Refresh All"**: Scans for installed .NET SDKs/Runtimes and lists available ones via `winget`.
66-
* **"Installed .NET SDKs & Runtimes"**: Displays detected .NET installations.
67-
* **"Available via Winget"**: Shows .NET versions available for installation. Select an item and click "Install Selected .NET Version".
68-
* **Activity Log Tab:** Provides a real-time log of all actions performed by the application, including `winget` searches and installation outputs.
69-
70-
All `winget` searches and installations are performed in the background, ensuring the GUI remains responsive.
71-
72-
<p align="right">(<a href="#readme-top">back to top</a>)</p>
73-
74-
## ✨ Key Features
75-
* **GUI-based Environment Management:** Intuitive WPF/XAML graphical user interface for easy interaction.
76-
* **Python Environment Control:** Discover installed Python versions, search for new ones via `winget`, and install Python packages using `pip`.
77-
* **.NET Environment Control:** Discover installed .NET SDKs/Runtimes, and install new versions via `winget`.
78-
* **Asynchronous Operations:** `winget` searches and installations run as background PowerShell jobs, preventing UI freezes.
79-
* **Robust `winget` Parsing:** Utilizes regular expressions to reliably extract and display information from `winget` search results.
80-
* **Modern UI Theming:** Implements P/Invoke methods to ensure the GUI uses native Windows visual styles for a polished look.
81-
* **Integrated Activity Log:** Provides real-time feedback and detailed logs of all operations directly within the application.
82-
* **Console Minimization:** Automatically minimizes the PowerShell console window on startup, providing a cleaner, application-like experience.
49+
## 🚀 Features
50+
51+
### Python Environment Management
52+
* **Discovery:** Automatically finds installed Python versions using multiple methods:
53+
* Querying the Python Launcher (`py.exe`).
54+
* Scanning the system `PATH`.
55+
* Checking common installation directories.
56+
* Cross-referencing with `winget` to enable uninstallation.
57+
* **Installation:** Search for and install new Python versions directly from `winget`.
58+
* **Package Management:** Manage `pip` packages for any selected Python installation:
59+
* List installed packages.
60+
* Install new packages by name.
61+
* Uninstall existing packages.
62+
* **Terminal Launch:** Quickly open a command prompt environment configured for a specific Python version.
63+
64+
### .NET Environment Management
65+
* **Discovery:** Lists all installed .NET SDKs and Runtimes by parsing the output of the `dotnet` CLI.
66+
* **Installation:** Search for and install .NET SDKs and Runtimes via `winget`.
67+
* **Uninstallation:** Remove specific .NET components.
68+
69+
### General Features
70+
* **Activity Log:** A dedicated tab tracks all actions, command outputs, and errors for troubleshooting.
71+
* **Background Jobs:** Long-running tasks (like installations) run in the background to keep the UI responsive.
8372
8473
<p align="right">(<a href="#readme-top">back to top</a>)</p>
8574
8675
## 🛠️ Technology Stack
87-
The application is a self-contained PowerShell script, leveraging:
88-
8976
* **Scripting Language:** PowerShell
90-
* **GUI Framework:** WPF (Windows Presentation Foundation) using XAML for rich graphical user interfaces.
91-
* **Package Management:** `winget` (Windows Package Manager) for system-level software discovery and installation.
92-
* **Python Package Management:** `pip` for installing Python libraries.
93-
* **Operating System Integration:** P/Invoke (Platform Invoke) for direct calls to Windows API functions for advanced UI control and theming.
94-
* **Concurrency:** PowerShell Jobs (`Start-Job`) for non-blocking background operations.
77+
* **GUI Framework:** WPF (Windows Presentation Foundation) via XAML.
78+
* **Backend Tools:** `winget`, `dotnet`, `py.exe`, `pip`.
9579
9680
<p align="right">(<a href="#readme-top">back to top</a>)</p>
9781
9882
## 📐 Architecture & Security Notes
99-
Dev-Deploy Environment Manager operates by orchestrating local system commands and services.
100-
101-
* **Local Execution:** All operations are performed locally on your machine. No external network services are directly accessed by the script itself beyond what `winget` or `pip` might do to fetch packages.
102-
* **Dependency on `winget` and Python:** Relies on the proper functioning and security of `winget` for package installations and Python for environment management.
103-
* **Administrator Privileges (for winget/pip):** While the script attempts to minimize the console, `winget` and `pip` commands often require elevated privileges for system-wide installations or modifications.
104-
* **P/Invoke for UI:** Uses P/Invoke for direct Windows API calls for UI rendering, which is a standard and secure practice for custom UI in PowerShell.
105-
* **No Telemetry:** The application does not collect or transmit any user data or telemetry.
83+
* **Privileges:** Installing or uninstalling software typically requires Administrator privileges. While the script doesn't force a UAC prompt on launch, operations may fail or prompt for elevation if you are not running as Admin.
84+
* **Winget Integration:** The script acts as a wrapper around `winget`. Ensure `winget` is correctly configured on your system.
10685
10786
<p align="right">(<a href="#readme-top">back to top</a>)</p>
10887
@@ -122,4 +101,4 @@ LinkTree - https://linktr.ee/zachrainbow
122101
123102
Patreon - https://www.patreon.com/c/EliteSoftwareCo
124103
125-
<p align="right">(<a href="#readme-top">back to top</a>)</p>
104+
<p align="right">(<a href="#readme-top">back to top</a>)</p>

0 commit comments

Comments
 (0)