Files
OfficeTool/README.md
hariel1985 642b19274b README: add Hungarian diacritics
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 07:13:25 +02:00

214 sor
8.7 KiB
Markdown

# 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``<Version>`, `<AssemblyVersion>`, `<FileVersion>`
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 |