Add detailed internal README

Project documentation: features, tech specs, product IDs, build instructions,
version history, folder structure, signing and versioning guidelines.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hariel1985
2026-04-02 07:11:41 +02:00
szülő 486589f9bc
commit fb7ce8b34e

213
README.md Normal file
Fájl megtekintése

@@ -0,0 +1,213 @@
# InstaSoft Office Tool
**Belso hasznalatu Office telepito varazslo az InstaSoft Informatikai Zrt. ugyfelei szamara.**
Microsoft Office 2019 / 2021 / 2024 telepites, eltavolitas es licenc-kezeles egyetlen alkalmazasbol.
---
## Funkcionalitas
### Office telepites (varazslo)
1. **Verzio valasztas** — Office 2024, 2021 vagy 2019
2. **Kiadas valasztas** — Standard, Professional Plus, Otthoni es kisvallalati verzio
3. **Beallitasok** — architektura (64/32-bit), nyelv, alkalmazasok kizarasa
4. **Termekkulcs** — opcionalis, ha megadja az ugyfei, automatikusan aktivalodik
5. **Osszegzes** — generalt ODT XML megtekintese es mentese
6. **Meglevo Office ellenorzes** — telepites elott felkinaija a regi verzio eltavolatasat
7. **Telepites** — ODT automatikus letoltese es futtatasa
8. **Telepites utan** — aktivaias lehetoseg + Word/Excel/PowerPoint/Outlook inditas
### Office eltavolitas
- Registry-bol detektalja a telepitett Office verziokat (Click-to-Run + MSI)
- Szelektiv eltavolitas: minden termek kulon kivalaszthato
- Click-to-Run: ODT `setup.exe /configure remove.xml` (specifikus Product ID-vel)
- MSI: `msiexec /x {GUID} /qb`
- Opcionalis licenc-adatbazis tisztitas (ospp.vbs /unpkey)
### Licenc-kezeles
- `ospp.vbs /dstatus` — licenc allapot lekerdezese
- Minden talalt kulcs kulon kartyakon jelenik meg
- **Aktivalas** gomb: termekkulcs bekeresi dialog → `/inpkey``/act`
- **Eltavolitas** gomb: kulon kulcsonkent `/unpkey`
- Osszes kulcs eltavolitasa (2+ kulcs eseten)
---
## Technikai reszletek
### Platform
| | |
|---|---|
| **Keretrendszer** | WPF .NET Framework 4.8 |
| **Nyelv** | C# (SDK-style csproj) |
| **Cel platform** | Windows 7 SP1+ (.NET 4.8 szukseges) |
| **Build** | `dotnet build -c Release` (.NET 8 SDK) |
| **Kimenet** | `bin\Release\net48\InstaSoftOfficeTool.exe` |
| **Merret** | ~25 KB (egyetlen exe, nem kell telepiteni) |
| **Jogosultsag** | Administrator (UAC manifest) |
### Design
- **Fluent Design** vilagos tema (Windows 11 stilus)
- Segoe UI Variable font (fallback: Segoe UI)
- Lekerekitett sarkok, kartyak arnyekkal, accent szin: `#0078D4`
- Sajat ConfirmDialog es ProductKeyDialog (nem Windows MessageBox)
- 800x550 px fix ablakmerret
### ODT (Office Deployment Tool)
- Automatikus letoltes: `https://officecdn.microsoft.com/pr/wsus/setup.exe`
- Letoltott fajl helye: `%TEMP%\InstaSoftODT\setup.exe`
- Ha mar letezik es >1MB, ujra nem tolti le
- XML generalas az `OdtXmlGenerator` osztalyban
### Tamogatott Office termekek
| Evjarat | Kiadas | Product ID | Channel |
|---------|--------|------------|---------|
| 2024 | Standard | Standard2024Volume | PerpetualVL2024 |
| 2024 | Professional Plus | ProPlus2024Volume | PerpetualVL2024 |
| 2024 | Otthoni es kisvallalati | HomeBusiness2024Retail | Current |
| 2021 | Standard | Standard2021Volume | PerpetualVL2021 |
| 2021 | Professional Plus | ProPlus2021Volume | PerpetualVL2021 |
| 2021 | Otthoni es kisvallalati | HomeBusiness2021Retail | Current |
| 2019 | Standard | Standard2019Volume | PerpetualVL2019 |
| 2019 | Professional Plus | ProPlus2019Volume | PerpetualVL2019 |
| 2019 | Otthoni es kisvallalati | HomeBusiness2019Retail | Current |
### Alkalmazas kizarasi szabalyok
| Alkalmazas | Elerheto kiadasok | Alapertelmezett |
|---|---|---|
| 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 kereses
A program az alabbi helyeken keresi az `ospp.vbs` fajlt:
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 valtozatok
6. Registry: `HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\InstallationPath`
---
## Projekt struktura
```
InstaSoftOfficeTool/
├── InstaSoftOfficeTool.csproj Projekt fajl (.NET Framework 4.8)
├── App.xaml / App.xaml.cs Alkalmazas belepesi pont
├── MainWindow.xaml / .xaml.cs Fo ablak, navigacio, wizard logika
├── app.manifest UAC requireAdministrator
├── Models/
│ ├── OfficeVersion.cs Evjarat enum (2024, 2021, 2019)
│ ├── OfficeEdition.cs Kiadas adatok (ProductId, Channel)
│ ├── InstallConfig.cs Telepitesi konfig + nyelvek + alkalmazasok
│ └── InstalledOffice.cs Detektalt Office info
├── Pages/
│ ├── WelcomePage.xaml Udvoziod oldal (3 kartya-gomb)
│ ├── VersionPage.xaml Evjarat valasztas
│ ├── EditionPage.xaml Kiadas valasztas (dinamikus)
│ ├── ConfigPage.xaml Architektura, nyelv, alkalmazasok
│ ├── ProductKeyPage.xaml Termekkulcs bevitel (5x5 mezo)
│ ├── SummaryPage.xaml Osszegzes + XML preview
│ ├── PreInstallCheckPage.xaml Meglevo Office ellenorzes/eltavolitas
│ ├── ProgressPage.xaml Telepitesi folyamat + befejezs utan aktivalas/inditas
│ ├── RemovePage.xaml Onallo Office eltavolitas
│ ├── TroubleshootPage.xaml Licenc-kezeles (dstatus, aktivalas, unpkey)
│ ├── ConfirmDialog.xaml Sajat megerosito dialog (overlay)
│ └── ProductKeyDialog.xaml Termekkulcs bekero dialog (overlay)
├── Services/
│ ├── OdtXmlGenerator.cs ODT XML konfig generalas
│ ├── OdtDownloader.cs ODT letoltes (officecdn.microsoft.com)
│ ├── OfficeDetector.cs Telepitett Office detektalas (registry)
│ ├── LicenseManager.cs ospp.vbs kereses es futtatás (/dstatus, /inpkey, /act, /unpkey)
│ └── ProcessRunner.cs Kulso folyamat futtatas async
├── Styles/
│ ├── FluentTheme.xaml Szinek, brushok, globalis font
│ ├── ButtonStyles.xaml PrimaryButton, SecondaryButton, CardButton
│ └── ControlStyles.xaml ComboBox, TextBox, CheckBox, RadioButton, ProgressBar
└── Resources/
└── app.ico Alkalmazas ikon
```
---
## Build
### Elofeltetel
- .NET 8 SDK (a `dotnet` parancshoz)
- Nincs szukseg Visual Studio-ra
### Forditas
```bash
cd C:\Projects\InstaSoftOfficeTool
dotnet build -c Release
```
Kimenet: `bin\Release\net48\InstaSoftOfficeTool.exe`
### Fontos
- **Build elott be kell zarni a futó programot** — az exe zárolt, amíg fut
- Csak az `.exe` kell a futtatashoz, a `.pdb` es `.config` nem szukseges
---
## Terjesztes
### Kodalairás
Az exe fajlt OV (Organization Validation) tanustvannyal kell alairni a SmartScreen figyelmeztetesek elkerulesehez.
```bash
signtool sign /f certificate.pfx /p PASSWORD /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 InstaSoftOfficeTool.exe
```
### Verziokezeles
Verzioszam **3 helyen** kell frissiteni kiadaskor:
1. `InstaSoftOfficeTool.csproj``<Version>`, `<AssemblyVersion>`, `<FileVersion>`
2. `MainWindow.xaml` — jobb felso sarok `Text="v1.xx"`
3. Git tag: `git tag v1.xx && git push origin v1.xx`
---
## Verziotortenet
| Verzio | Datum | Valtozasok |
|--------|-------|------------|
| v1.01 | 2026-03-31 | Elso kiadas: wizard, eltavolitas, licenc-kezeles |
| v1.02 | 2026-03-31 | Licenc UI javitasok, ospp.vbs root/Office16 path |
| v1.03 | 2026-03-31 | Fluent ComboBox/CheckBox/TextBox stilusok |
| v1.04 | 2026-03-31 | Config layout (arch+nyelv egymas mellett), Skype default off |
| v1.05 | 2026-03-31 | Gomb szoveg kontraszt javitas (feher kek alapon) |
| v1.06 | 2026-03-31 | Termekkulcs paste javitas (DataObject.Pasting) |
| v1.07 | 2026-03-31 | Pre-install Office ellenorzes a telepites elott |
| v1.08 | 2026-03-31 | Sajat Fluent megerosito dialog (MessageBox helyett) |
| v1.09 | 2026-04-01 | ODT CDN letoltes fix, szelektiv C2R eltavolitas |
| v1.10 | 2026-04-02 | Aktivalas kulcs dialoggal, auto-refresh, Access korlatozas |
| v1.11 | 2026-04-02 | Teljes alkalmazas lista, kiadasfuggo elerhetseg |
| v1.13 | 2026-04-02 | Telepites utani aktivalas es app inditas |
| v1.14 | 2026-04-02 | Ablak merret visszaallitas Vissza gombnal |
| v1.16 | 2026-04-02 | PowerShell verzio torolve, flat projekt struktura |