From fb7ce8b34e4b4711bfe9862632601fc030fbd162 Mon Sep 17 00:00:00 2001 From: hariel1985 Date: Thu, 2 Apr 2026 07:11:41 +0200 Subject: [PATCH] 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) --- README.md | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..20cec9f --- /dev/null +++ b/README.md @@ -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` — ``, ``, `` +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 |