Files
OfficeTool/Models/InstallConfig.cs
hariel1985 4937ac4b1c Initial release v1.01 — InstaSoft Office Tool
Office deployment wizard for InstaSoft customers:
- Install Office 2019/2021/2024 (Standard, Professional Plus, Home & Business)
- Auto-download ODT from Microsoft, generate config XML, run setup
- Remove existing Office installations (C2R + MSI)
- License troubleshooting via ospp.vbs (dstatus, unpkey)
- Fluent Design UI (WPF .NET Framework 4.8, Win7+ compatible)
- Hungarian interface, multi-language Office installation
- Product key input with auto-activation support

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 05:40:50 +02:00

82 sor
2.6 KiB
C#

using System.Collections.Generic;
namespace InstaSoftOfficeTool.Models
{
public class InstallConfig
{
public OfficeVersion Version { get; set; }
public OfficeEdition Edition { get; set; }
public string Architecture { get; set; } = "64";
public string Language { get; set; } = "hu-hu";
public string ProductKey { get; set; }
public List<string> ExcludedApps { get; set; } = new List<string>();
public string GetVersionDisplayName()
{
switch (Version)
{
case OfficeVersion.Office2024: return "Office 2024";
case OfficeVersion.Office2021: return "Office 2021";
case OfficeVersion.Office2019: return "Office 2019";
default: return "";
}
}
public string GetLanguageDisplayName()
{
return LanguageList.GetDisplayName(Language);
}
}
public static class LanguageList
{
public static readonly (string Code, string Name)[] Languages = new[]
{
("hu-hu", "Magyar"),
("en-us", "English (US)"),
("de-de", "Deutsch"),
("fr-fr", "Fran\u00e7ais"),
("it-it", "Italiano"),
("es-es", "Espa\u00f1ol"),
("pt-pt", "Portugu\u00eas"),
("nl-nl", "Nederlands"),
("pl-pl", "Polski"),
("cs-cz", "\u010ce\u0161tina"),
("sk-sk", "Sloven\u010dina"),
("ro-ro", "Rom\u00e2n\u0103"),
("hr-hr", "Hrvatski"),
("sl-si", "Sloven\u0161\u010dina"),
("sr-latn-rs", "Srpski"),
("bg-bg", "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438"),
("uk-ua", "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430"),
("ru-ru", "\u0420\u0443\u0441\u0441\u043a\u0438\u0439"),
("tr-tr", "T\u00fcrk\u00e7e"),
("ja-jp", "\u65e5\u672c\u8a9e"),
("zh-cn", "\u4e2d\u6587 (\u7b80\u4f53)"),
("ko-kr", "\ud55c\uad6d\uc5b4"),
};
public static string GetDisplayName(string code)
{
foreach (var lang in Languages)
{
if (lang.Code == code) return lang.Name;
}
return code;
}
}
public static class ExcludableApps
{
public static readonly (string Id, string DisplayName)[] Apps = new[]
{
("Access", "Access"),
("Teams", "Teams"),
("OneNote", "OneNote"),
("Publisher", "Publisher"),
("Outlook", "Outlook"),
("Lync", "Skype for Business"),
};
}
}