diff --git a/README.md b/README.md index cefee5b..2804003 100644 --- a/README.md +++ b/README.md @@ -1,213 +1,102 @@ # InstaSoft Office Tool -**Belső használatú Office telepítő varázsló az InstaSoft Informatikai Zrt. ügyfelei számára.** +Microsoft Office telepítő, eltávolító és licenc-kezelő alkalmazás. -Microsoft Office 2019 / 2021 / 2024 telepítés, eltávolítás és licenc-kezelés egyetlen alkalmazásból. +Fejlesztő: **InstaSoft Informatikai Zrt.** | Microsoft Partner --- -## Funkcionalitás +## Letöltés -### Office telepítés (varázsló) +A legfrissebb verzió a **Releases** oldalon érhető el. -1. **Verzió választás** — Office 2024, 2021 vagy 2019 -2. **Kiadás választás** — Standard, Professional Plus, Otthoni és kisvállalati verzió -3. **Beállítások** — architektúra (64/32-bit), nyelv, alkalmazások kizárása -4. **Termékkulcs** — opcionális, ha megadja az ügyfél, automatikusan aktiválódik -5. **Összegzés** — generált ODT XML megtekintése és mentése -6. **Meglévő Office ellenőrzés** — telepítés előtt felkínálja a régi verzió eltávolítását -7. **Telepítés** — ODT automatikus letöltése és futtatása -8. **Telepítés után** — aktiválás lehetőség + Word/Excel/PowerPoint/Outlook indítás +> Az alkalmazás futtatásához **.NET Framework 4.8** szükséges (Windows 10/11 rendszereken alapértelmezetten telepítve van). +> A program rendszergazdai jogosultságot kér induláskor. + +### Telepítés + +Az alkalmazás digitálisan aláírva az **InstaSoft Informatikai Zrt.** nevében (Microsoft Azure Trusted Signing). + +Első futtatáskor a Windows SmartScreen figyelmeztetést jeleníthet meg, mivel az alkalmazás új és még kevesen töltötték le. Ez nem jelent biztonsági kockázatot — az aláírás igazolja a fejlesztő személyazonosságát. + +**1. A böngésző letöltés után figyelmeztethet.** Kattintson a **három pontra (⋯)**, majd a **"Megtartás"** gombra. + +![Letöltés megtartása](screenshots/SmartScreen00.png) + +**2. Indításkor megjelenik a SmartScreen ablak.** Kattintson a **"További információ"** linkre. + +![SmartScreen figyelmeztetés](screenshots/SmartScreen01.png) + +**3. Ellenőrizze a gyártó nevét**, majd kattintson a **"Futtatás mindenképpen"** gombra. + +![Futtatás mindenképpen](screenshots/SmartScreen02.png) + +--- + +## Funkciók + +### Office telepítés +- Támogatott verziók: **Office 2024**, **Office 2021**, **Office 2019**, **Office 2016** +- Kiadások: **Standard**, **Professional Plus**, **Otthoni és kisvállalati verzió** +- Architektúra választás (64-bit / 32-bit) +- 22 telepítési nyelv +- Alkalmazások egyenkénti kiválasztása (Word, Excel, PowerPoint, Outlook, OneNote, Access, Publisher, Teams, Skype for Business) +- Opcionális termékkulcs megadás — automatikus aktiválás a telepítés végén +- Meglévő Office automatikus felismerése és eltávolítási lehetőség telepítés előtt +- A telepítés végén alkalmazások közvetlen indítása + +> **Office 2016** telepítése ISO letöltéssel történik (a Microsoft CDN már nem szolgálja ki a 2016-os Click-to-Run fájlokat). A Standard kiadás 32-bit és 64-bit, a Professional Plus kiadás 64-bit változatban érhető el, magyar nyelven. ### Office eltávolítás - -- Registry-ból detektálja a telepített Office verziókat (Click-to-Run + MSI) -- Szelektív eltávolítás: minden termék külön kiválasztható -- Click-to-Run: ODT `setup.exe /configure remove.xml` (specifikus Product ID-vel) -- MSI: `msiexec /x {GUID} /qb` -- Opcionális licenc-adatbázis tisztítás (ospp.vbs /unpkey) +- Telepített Office verziók automatikus felismerése (Click-to-Run és MSI) +- Szelektív eltávolítás — minden termék külön kiválasztható +- Opcionális licenc-adatbázis tisztítás ### Licenc-kezelés - -- `ospp.vbs /dstatus` — licenc állapot lekérdezése -- Minden talált kulcs külön kártyákon jelenik meg -- **Aktiválás** gomb: termékkulcs bekérési dialóg → `/inpkey` → `/act` -- **Eltávolítás** gomb: külön kulcsonként `/unpkey` -- Összes kulcs eltávolítása (2+ kulcs esetén) +- Licenc állapot lekérdezése +- Termékkulcs megadása és aktiválás +- Termékkulcsok egyenkénti vagy csoportos eltávolítása +- Beragadt licencek kezelése (ospp.vbs) --- -## Technikai részletek - -### Platform +## Rendszerkövetelmények | | | |---|---| -| **Keretrendszer** | WPF .NET Framework 4.8 | -| **Nyelv** | C# (SDK-style csproj) | -| **Cél platform** | Windows 7 SP1+ (.NET 4.8 szükséges) | -| **Build** | `dotnet build -c Release` (.NET 8 SDK) | -| **Kimenet** | `bin\Release\net48\InstaSoftOfficeTool.exe` | -| **Méret** | ~25 KB (egyetlen exe, nem kell telepíteni) | -| **Jogosultság** | Administrator (UAC manifest) | - -### Design - -- **Fluent Design** világos téma (Windows 11 stílus) -- Segoe UI Variable font (fallback: Segoe UI) -- Lekerekített sarkok, kártyák árnyékkal, accent szín: `#0078D4` -- Saját ConfirmDialog és ProductKeyDialog (nem Windows MessageBox) -- 800x550 px fix ablakméret - -### ODT (Office Deployment Tool) - -- Automatikus letöltés: `https://officecdn.microsoft.com/pr/wsus/setup.exe` -- Letöltött fájl helye: `%TEMP%\InstaSoftODT\setup.exe` -- Ha már létezik és >1MB, újra nem tölti le -- XML generálás az `OdtXmlGenerator` osztályban - -### Támogatott Office termékek - -| Évjárat | Kiadás | Product ID | Channel | -|---------|--------|------------|---------| -| 2024 | Standard | Standard2024Volume | PerpetualVL2024 | -| 2024 | Professional Plus | ProPlus2024Volume | PerpetualVL2024 | -| 2024 | Otthoni és kisvállalati | HomeBusiness2024Retail | Current | -| 2021 | Standard | Standard2021Volume | PerpetualVL2021 | -| 2021 | Professional Plus | ProPlus2021Volume | PerpetualVL2021 | -| 2021 | Otthoni és kisvállalati | HomeBusiness2021Retail | Current | -| 2019 | Standard | Standard2019Volume | PerpetualVL2019 | -| 2019 | Professional Plus | ProPlus2019Volume | PerpetualVL2019 | -| 2019 | Otthoni és kisvállalati | HomeBusiness2019Retail | Current | - -### Alkalmazás kizárási szabályok - -| Alkalmazás | Elérhető kiadások | Alapértelmezett | -|---|---|---| -| Word, Excel, PowerPoint, Outlook, OneNote | Mind | Bekapcsolva | -| Access | Csak Professional Plus | Bekapcsolva | -| Publisher | Professional Plus, Standard | Bekapcsolva | -| Teams | Mind | Kikapcsolva | -| Skype for Business | Mind | Kikapcsolva | - -### ospp.vbs keresés - -A program az alábbi helyeken keresi az `ospp.vbs` fájlt: - -1. `C:\Program Files\Microsoft Office\root\Office16\OSPP.VBS` (Click-to-Run) -2. `C:\Program Files (x86)\Microsoft Office\root\Office16\OSPP.VBS` -3. `C:\Program Files\Microsoft Office\Office16\ospp.vbs` (MSI) -4. `C:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs` -5. Office15, Office14 változatok -6. Registry: `HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\InstallationPath` +| **Operációs rendszer** | Windows 7 SP1 / 8.1 / 10 / 11 | +| **Keretrendszer** | .NET Framework 4.8 | +| **Jogosultság** | Rendszergazda (Administrator) | +| **Internetkapcsolat** | Szükséges (Office letöltéséhez) | --- -## Projekt struktúra +## Képernyőképek -``` -InstaSoftOfficeTool/ -├── InstaSoftOfficeTool.csproj Projekt fájl (.NET Framework 4.8) -├── App.xaml / App.xaml.cs Alkalmazás belépési pont -├── MainWindow.xaml / .xaml.cs Fő ablak, navigáció, wizard logika -├── app.manifest UAC requireAdministrator -│ -├── Models/ -│ ├── OfficeVersion.cs Évjárat enum (2024, 2021, 2019) -│ ├── OfficeEdition.cs Kiadás adatok (ProductId, Channel) -│ ├── InstallConfig.cs Telepítési konfig + nyelvek + alkalmazások -│ └── InstalledOffice.cs Detektált Office info -│ -├── Pages/ -│ ├── WelcomePage.xaml Üdvözlő oldal (3 kártya-gomb) -│ ├── VersionPage.xaml Évjárat választás -│ ├── EditionPage.xaml Kiadás választás (dinamikus) -│ ├── ConfigPage.xaml Architektúra, nyelv, alkalmazások -│ ├── ProductKeyPage.xaml Termékkulcs bevitel (5x5 mező) -│ ├── SummaryPage.xaml Összegzés + XML preview -│ ├── PreInstallCheckPage.xaml Meglévő Office ellenőrzés/eltávolítás -│ ├── ProgressPage.xaml Telepítési folyamat + befejezés után aktiválás/indítás -│ ├── RemovePage.xaml Önálló Office eltávolítás -│ ├── TroubleshootPage.xaml Licenc-kezelés (dstatus, aktiválás, unpkey) -│ ├── ConfirmDialog.xaml Saját megerősítő dialóg (overlay) -│ └── ProductKeyDialog.xaml Termékkulcs bekérő dialóg (overlay) -│ -├── Services/ -│ ├── OdtXmlGenerator.cs ODT XML konfig generálás -│ ├── OdtDownloader.cs ODT letöltés (officecdn.microsoft.com) -│ ├── OfficeDetector.cs Telepített Office detektálás (registry) -│ ├── LicenseManager.cs ospp.vbs keresés és futtatás (/dstatus, /inpkey, /act, /unpkey) -│ └── ProcessRunner.cs Külső folyamat futtatás async -│ -├── Styles/ -│ ├── FluentTheme.xaml Színek, brushok, globális font -│ ├── ButtonStyles.xaml PrimaryButton, SecondaryButton, CardButton -│ └── ControlStyles.xaml ComboBox, TextBox, CheckBox, RadioButton, ProgressBar -│ -└── Resources/ - └── app.ico Alkalmazás ikon -``` +### Főoldal +![Főoldal](screenshots/01_welcome.png) ---- +### Office telepítés — Verzió választás +![Verzió választás](screenshots/04_version.png) -## Build +### Office telepítés — Kiadás választás +![Kiadás választás](screenshots/05_edition.png) -### Előfeltétel +### Office telepítés — Beállítások +![Beállítások](screenshots/06_config.png) -- .NET 8 SDK (a `dotnet` parancshoz) -- Nincs szükség Visual Studio-ra +### Office eltávolítás +![Office eltávolítás](screenshots/03_remove.png) -### Fordítás - -```bash -cd C:\Projects\InstaSoftOfficeTool -dotnet build -c Release -``` - -Kimenet: `bin\Release\net48\InstaSoftOfficeTool.exe` - -### Fontos - -- **Build előtt be kell zárni a futó programot** — az exe zárolt, amíg fut -- Csak az `.exe` kell a futtatáshoz, a `.pdb` és `.config` nem szükséges - ---- - -## Terjesztés - -### Kód aláírás - -Az exe fájlt OV (Organization Validation) tanúsítvánnyal kell aláírni a SmartScreen figyelmeztetések elkerüléséhez. - -```bash -signtool sign /f certificate.pfx /p PASSWORD /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 InstaSoftOfficeTool.exe -``` - -### Verziókezelés - -Verziószám **3 helyen** kell frissíteni kiadáskor: - -1. `InstaSoftOfficeTool.csproj` — ``, ``, `` -2. `MainWindow.xaml` — jobb felső sarok `Text="v1.xx"` -3. Git tag: `git tag v1.xx && git push origin v1.xx` +### Licenc-kezelés — Aktiválás +![Licenc-kezelés](screenshots/02_license_activate.png) --- ## Verziótörténet -| Verzió | Dátum | Változások | -|--------|-------|------------| -| v1.01 | 2026-03-31 | Első kiadás: wizard, eltávolítás, licenc-kezelés | -| v1.02 | 2026-03-31 | Licenc UI javítások, ospp.vbs root/Office16 path | -| v1.03 | 2026-03-31 | Fluent ComboBox/CheckBox/TextBox stílusok | -| v1.04 | 2026-03-31 | Config layout (arch+nyelv egymás mellett), Skype default off | -| v1.05 | 2026-03-31 | Gomb szöveg kontraszt javítás (fehér kék alapon) | -| v1.06 | 2026-03-31 | Termékkulcs paste javítás (DataObject.Pasting) | -| v1.07 | 2026-03-31 | Pre-install Office ellenőrzés a telepítés előtt | -| v1.08 | 2026-03-31 | Saját Fluent megerősítő dialóg (MessageBox helyett) | -| v1.09 | 2026-04-01 | ODT CDN letöltés fix, szelektív C2R eltávolítás | -| v1.10 | 2026-04-02 | Aktiválás kulcs dialóggal, auto-refresh, Access korlátozás | -| v1.11 | 2026-04-02 | Teljes alkalmazás lista, kiadásfüggő elérhetőség | -| v1.13 | 2026-04-02 | Telepítés utáni aktiválás és app indítás | -| v1.14 | 2026-04-02 | Ablak méret visszaállítás Vissza gombnál | -| v1.16 | 2026-04-02 | Flat projekt struktúra | +A részletes verziótörténet a Releases oldalon érhető el. + +--- + +**InstaSoft Informatikai Zrt.** | Budapest, Magyarország diff --git a/screenshots/01_welcome.png b/screenshots/01_welcome.png new file mode 100644 index 0000000..aeef5fc Binary files /dev/null and b/screenshots/01_welcome.png differ diff --git a/screenshots/02_license_activate.png b/screenshots/02_license_activate.png new file mode 100644 index 0000000..27fdd52 Binary files /dev/null and b/screenshots/02_license_activate.png differ diff --git a/screenshots/03_remove.png b/screenshots/03_remove.png new file mode 100644 index 0000000..6f213df Binary files /dev/null and b/screenshots/03_remove.png differ diff --git a/screenshots/04_version.png b/screenshots/04_version.png new file mode 100644 index 0000000..aea6750 Binary files /dev/null and b/screenshots/04_version.png differ diff --git a/screenshots/05_edition.png b/screenshots/05_edition.png new file mode 100644 index 0000000..f72d0cd Binary files /dev/null and b/screenshots/05_edition.png differ diff --git a/screenshots/06_config.png b/screenshots/06_config.png new file mode 100644 index 0000000..a8fdafe Binary files /dev/null and b/screenshots/06_config.png differ diff --git a/screenshots/SmartScreen00.png b/screenshots/SmartScreen00.png new file mode 100644 index 0000000..2719f68 Binary files /dev/null and b/screenshots/SmartScreen00.png differ diff --git a/screenshots/SmartScreen01.png b/screenshots/SmartScreen01.png new file mode 100644 index 0000000..5355d63 Binary files /dev/null and b/screenshots/SmartScreen01.png differ diff --git a/screenshots/SmartScreen02.png b/screenshots/SmartScreen02.png new file mode 100644 index 0000000..1e877e4 Binary files /dev/null and b/screenshots/SmartScreen02.png differ