# InstaSoft Office Tool **Belső használatú Office telepítő varázsló az InstaSoft Informatikai Zrt. ügyfelei számára.** Microsoft Office 2019 / 2021 / 2024 telepítés, eltávolítás és licenc-kezelés egyetlen alkalmazásból. --- ## Funkcionalitás ### Office telepítés (varázsló) 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 ### 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) ### 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) --- ## Technikai részletek ### Platform | | | |---|---| | **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` --- ## Projekt struktúra ``` 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 ``` --- ## Build ### Előfeltétel - .NET 8 SDK (a `dotnet` parancshoz) - Nincs szükség Visual Studio-ra ### 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` --- ## 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 |