214 sor
8.7 KiB
Markdown
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 |
|