mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
843 lines
38 KiB
C#
843 lines
38 KiB
C#
using System.Text;
|
|
using SabreTools.Data.Extensions;
|
|
using SabreTools.Data.Models.WiseInstaller;
|
|
using SabreTools.Data.Models.WiseInstaller.Actions;
|
|
using SabreTools.Text.Extensions;
|
|
|
|
#pragma warning disable IDE0060 // Remove unused parameter
|
|
namespace SabreTools.Wrappers
|
|
{
|
|
public partial class WiseScript : IPrintable
|
|
{
|
|
#if NETCOREAPP
|
|
/// <inheritdoc/>
|
|
public string ExportJSON() => System.Text.Json.JsonSerializer.Serialize(Model, _jsonSerializerOptions);
|
|
#endif
|
|
|
|
/// <inheritdoc/>
|
|
public void PrintInformation(StringBuilder builder)
|
|
{
|
|
builder.AppendLine("Wise Installer Script File Information:");
|
|
builder.AppendLine("-------------------------");
|
|
builder.AppendLine();
|
|
|
|
Print(builder, Model.Header);
|
|
Print(builder, Model.States);
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ScriptHeader header)
|
|
{
|
|
builder.AppendLine(" Header Information:");
|
|
builder.AppendLine(" -------------------------");
|
|
builder.AppendLine(header.Flags, " Flags");
|
|
builder.AppendLine(header.UnknownU16_1, " UnknownU16_1");
|
|
builder.AppendLine(header.UnknownU16_2, " UnknownU16_2");
|
|
builder.AppendLine(header.SomeOffset1, " SomeOffset1");
|
|
builder.AppendLine(header.SomeOffset2, " SomeOffset2");
|
|
builder.AppendLine(header.UnknownBytes_2, " UnknownBytes_2");
|
|
builder.AppendLine(header.DateTime, " Datetime");
|
|
builder.AppendLine(header.VariableLengthData, " Variable length data");
|
|
builder.AppendLine(header.FTPURL, " FTP URL");
|
|
builder.AppendLine(header.LogPathname, " Log pathname");
|
|
builder.AppendLine(header.MessageFont, " Font");
|
|
builder.AppendLine(header.FontSize, " Font size");
|
|
builder.AppendLine(header.Unknown_2, " Unknown_2");
|
|
builder.AppendLine(header.LanguageCount, " Language count");
|
|
builder.AppendLine();
|
|
builder.AppendLine(" Header strings");
|
|
builder.AppendLine(" -------------------------");
|
|
if (header.HeaderStrings is null || header.HeaderStrings.Length == 0)
|
|
{
|
|
builder.AppendLine(" No header strings");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < header.HeaderStrings.Length; i++)
|
|
{
|
|
var entry = header.HeaderStrings[i];
|
|
builder.AppendLine($" Header String {i}: {entry}");
|
|
}
|
|
}
|
|
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, MachineState[] entries)
|
|
{
|
|
builder.AppendLine(" State Machine Information:");
|
|
builder.AppendLine(" -------------------------");
|
|
if (entries.Length == 0)
|
|
{
|
|
builder.AppendLine(" No state machine items");
|
|
return;
|
|
}
|
|
|
|
for (int i = 0; i < entries.Length; i++)
|
|
{
|
|
var entry = entries[i];
|
|
|
|
builder.AppendLine($" State Machine Entry {i}:");
|
|
builder.AppendLine($" Op: {entry.Op} (0x{(byte)entry.Op:X2})");
|
|
switch (entry.Data)
|
|
{
|
|
case InstallFile data: Print(builder, data); break;
|
|
case NoOp data: Print(builder, data); break;
|
|
case DisplayMessage data: Print(builder, data); break;
|
|
case UserDefinedActionStep data: Print(builder, data); break;
|
|
case EditIniFile data: Print(builder, data); break;
|
|
case DisplayBillboard data: Print(builder, data); break;
|
|
case ExecuteProgram data: Print(builder, data); break;
|
|
case EndBlockStatement data: Print(builder, data); break;
|
|
case CallDllFunction data: Print(builder, data); break;
|
|
case EditRegistry data: Print(builder, data); break;
|
|
case DeleteFile data: Print(builder, data); break;
|
|
case IfWhileStatement data: Print(builder, data); break;
|
|
case ElseStatement data: Print(builder, data); break;
|
|
case StartUserDefinedAction data: Print(builder, data); break;
|
|
case EndUserDefinedAction data: Print(builder, data); break;
|
|
case CreateDirectory data: Print(builder, data); break;
|
|
case CopyLocalFile data: Print(builder, data); break;
|
|
case CustomDialogSet data: Print(builder, data); break;
|
|
case GetSystemInformation data: Print(builder, data); break;
|
|
case GetTemporaryFilename data: Print(builder, data); break;
|
|
case PlayMultimediaFile data: Print(builder, data); break;
|
|
case NewEvent data: Print(builder, data); break;
|
|
case Unknown0x19 data: Print(builder, data); break;
|
|
case ConfigODBCDataSource data: Print(builder, data); break;
|
|
case IncludeScript data: Print(builder, data); break;
|
|
case AddTextToInstallLog data: Print(builder, data); break;
|
|
case RenameFileDirectory data: Print(builder, data); break;
|
|
case OpenCloseInstallLog data: Print(builder, data); break;
|
|
case ElseIfStatement data: Print(builder, data); break;
|
|
case Unknown0x24 data: Print(builder, data); break;
|
|
case Unknown0x25 data: Print(builder, data); break;
|
|
|
|
// Should never happen
|
|
case InvalidOperation data: Print(builder, data); break;
|
|
default: builder.AppendLine(" Data: [NULL]"); break;
|
|
}
|
|
}
|
|
}
|
|
|
|
#region State Actions
|
|
|
|
private static void Print(StringBuilder builder, InstallFile data)
|
|
{
|
|
builder.AppendLine($" Data: InstallFile");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.DeflateStart, $" Deflate start");
|
|
builder.AppendLine(data.DeflateEnd, $" Deflate end");
|
|
builder.AppendLine(data.Date, $" Date");
|
|
builder.AppendLine(data.Time, $" Time");
|
|
builder.AppendLine(data.InflatedSize, $" Inflated size");
|
|
builder.AppendLine(data.Operand_7, $" Unknown");
|
|
builder.AppendLine(data.Crc32, $" CRC-32");
|
|
builder.AppendLine(data.DestinationPathname, $" Destination pathname");
|
|
builder.AppendLine($" File texts");
|
|
builder.AppendLine(" -------------------------");
|
|
if (data.Description is null || data.Description.Length == 0)
|
|
{
|
|
builder.AppendLine(" No file texts");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < data.Description.Length; i++)
|
|
{
|
|
var entry = data.Description[i];
|
|
builder.AppendLine($" File Text {i}: {entry}");
|
|
}
|
|
}
|
|
|
|
builder.AppendLine(data.Source, $" Source");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, NoOp data)
|
|
{
|
|
builder.AppendLine($" Data: NoOp");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, DisplayMessage data)
|
|
{
|
|
builder.AppendLine($" Data: DisplayMessage");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine($" Title/Text strings");
|
|
builder.AppendLine(" -------------------------");
|
|
if (data.TitleText is null || data.TitleText.Length == 0)
|
|
{
|
|
builder.AppendLine(" No title/text strings");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < data.TitleText.Length; i++)
|
|
{
|
|
var entry = data.TitleText[i];
|
|
builder.AppendLine($" Title/Text String {i}: {entry}");
|
|
}
|
|
}
|
|
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, UserDefinedActionStep data)
|
|
{
|
|
builder.AppendLine($" Data: UserDefinedActionStep");
|
|
builder.AppendLine(data.Flags, $" Count");
|
|
builder.AppendLine($" Script lines");
|
|
builder.AppendLine(" -------------------------");
|
|
if (data.ScriptLines is null || data.ScriptLines.Length == 0)
|
|
{
|
|
builder.AppendLine(" No script lines");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < data.ScriptLines.Length; i++)
|
|
{
|
|
var entry = data.ScriptLines[i];
|
|
builder.AppendLine($" Script Line {i}: {entry}");
|
|
}
|
|
}
|
|
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, EditIniFile data)
|
|
{
|
|
builder.AppendLine($" Data: EditIniFile");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine(data.Section, $" Section");
|
|
builder.AppendLine(data.Values, $" Values");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, DisplayBillboard data)
|
|
{
|
|
builder.AppendLine($" Data: DisplayBillboard");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
|
|
builder.AppendLine($" Deflate info:");
|
|
builder.AppendLine($" -------------------------");
|
|
if (data.DeflateInfo is null || data.DeflateInfo.Length == 0)
|
|
{
|
|
builder.AppendLine(" No deflate info items");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < data.DeflateInfo.Length; i++)
|
|
{
|
|
var entry = data.DeflateInfo[i];
|
|
Print(builder, entry, 8, i);
|
|
}
|
|
}
|
|
|
|
builder.AppendLine(data.Terminator, $" Terminator");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ExecuteProgram data)
|
|
{
|
|
builder.AppendLine($" Data: ExecuteProgram");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine(data.CommandLine, $" Command Line");
|
|
builder.AppendLine(data.DefaultDirectory, $" Default Directory");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, EndBlockStatement data)
|
|
{
|
|
builder.AppendLine($" Data: EndBlockStatement");
|
|
builder.AppendLine(data.Operand_1, $" Operand 1");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CallDllFunction data)
|
|
{
|
|
builder.AppendLine($" Data: CallDllFunction");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.DllPath, $" DLL path");
|
|
builder.AppendLine(data.FunctionName, $" Function name");
|
|
builder.AppendLine(data.FunctionName.FromWiseFunctionId(), $" Derived action name");
|
|
builder.AppendLine(data.Operand_4, $" Operand 4");
|
|
builder.AppendLine(data.ReturnVariable, $" Return variable");
|
|
builder.AppendLine($" Entries");
|
|
builder.AppendLine(" -------------------------");
|
|
if (data.Entries is null || data.Entries.Length == 0)
|
|
{
|
|
builder.AppendLine(" No entry data");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < data.Entries.Length; i++)
|
|
{
|
|
var entry = data.Entries[i];
|
|
switch (entry)
|
|
{
|
|
case AddDirectoryToPath args: Print(builder, args, i); break;
|
|
case AddToAutoexecBat args: Print(builder, args, i); break;
|
|
case AddToConfigSys args: Print(builder, args, i); break;
|
|
case AddToSystemIni args: Print(builder, args, i); break;
|
|
case ReadIniValue args: Print(builder, args, i); break;
|
|
case GetRegistryKeyValue args: Print(builder, args, i); break;
|
|
case RegisterFont args: Print(builder, args, i); break;
|
|
case Win32SystemDirectory args: Print(builder, args, i); break;
|
|
case CheckConfiguration args: Print(builder, args, i); break;
|
|
case SearchForFile args: Print(builder, args, i); break;
|
|
case ReadWriteBinaryFile args: Print(builder, args, i); break;
|
|
case SetVariable args: Print(builder, args, i); break;
|
|
case GetEnvironmentVariable args: Print(builder, args, i); break;
|
|
case CheckIfFileDirExists args: Print(builder, args, i); break;
|
|
case SetFileAttributes args: Print(builder, args, i); break;
|
|
case SetFilesBuffers args: Print(builder, args, i); break;
|
|
case FindFileInPath args: Print(builder, args, i); break;
|
|
case CheckDiskSpace args: Print(builder, args, i); break;
|
|
case InsertLineIntoTextFile args: Print(builder, args, i); break;
|
|
case ParseString args: Print(builder, args, i); break;
|
|
case ExitInstallation args: Print(builder, args, i); break;
|
|
case SelfRegisterOCXsDLLs args: Print(builder, args, i); break;
|
|
case InstallDirectXComponents args: Print(builder, args, i); break;
|
|
case WizardBlockLoop args: Print(builder, args, i); break;
|
|
case ReadUpdateTextFile args: Print(builder, args, i); break;
|
|
case PostToHttpServer args: Print(builder, args, i); break;
|
|
case PromptForFilename args: Print(builder, args, i); break;
|
|
case StartStopService args: Print(builder, args, i); break;
|
|
case CheckHttpConnection args: Print(builder, args, i); break;
|
|
case ExternalDllCall args: Print(builder, args, i); break;
|
|
|
|
// Should never happen
|
|
default: builder.AppendLine($" Entry {i}: [NULL]"); break;
|
|
}
|
|
}
|
|
}
|
|
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, EditRegistry data)
|
|
{
|
|
builder.AppendLine($" Data: EditRegistry");
|
|
builder.AppendLine(data.FlagsAndRoot, $" Flags and root");
|
|
builder.AppendLine(data.DataType, $" Data type");
|
|
builder.AppendLine(data.UnknownFsllib, $" Unknown");
|
|
builder.AppendLine(data.Key, $" Key");
|
|
builder.AppendLine(data.NewValue, $" New value");
|
|
builder.AppendLine(data.ValueName, $" Value name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, DeleteFile data)
|
|
{
|
|
builder.AppendLine($" Data: DeleteFile");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, IfWhileStatement data)
|
|
{
|
|
builder.AppendLine($" Data: IfWhileStatement");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Value, $" Value");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ElseStatement data)
|
|
{
|
|
builder.AppendLine($" Data: ElseStatement");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, StartUserDefinedAction data)
|
|
{
|
|
builder.AppendLine($" Data: StartUserDefinedAction");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, EndUserDefinedAction data)
|
|
{
|
|
builder.AppendLine($" Data: EndUserDefinedAction");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CreateDirectory data)
|
|
{
|
|
builder.AppendLine($" Data: CreateDirectory");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CopyLocalFile data)
|
|
{
|
|
builder.AppendLine($" Data: CopyLocalFile");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.Padding, $" Padding");
|
|
builder.AppendLine(data.Destination, $" Destination");
|
|
builder.AppendLine($" Descriptions");
|
|
builder.AppendLine(" -------------------------");
|
|
if (data.Description is null || data.Description.Length == 0)
|
|
{
|
|
builder.AppendLine(" No descriptions");
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < data.Description.Length; i++)
|
|
{
|
|
var entry = data.Description[i];
|
|
builder.AppendLine($" Description {i}: {entry}");
|
|
}
|
|
}
|
|
|
|
builder.AppendLine();
|
|
builder.AppendLine(data.Source, $" Source");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CustomDialogSet data)
|
|
{
|
|
builder.AppendLine($" Data: CustomDialogSet");
|
|
builder.AppendLine(data.DeflateStart, $" Deflate start");
|
|
builder.AppendLine(data.DeflateEnd, $" Deflate end");
|
|
builder.AppendLine(data.InflatedSize, $" Inflated size");
|
|
builder.AppendLine(data.DisplayVariable, $" Display variable");
|
|
builder.AppendLine(data.Name, $" Name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, GetSystemInformation data)
|
|
{
|
|
builder.AppendLine($" Data: GetSystemInformation");
|
|
builder.AppendLine(data.Flags, $" Variable");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, GetTemporaryFilename data)
|
|
{
|
|
builder.AppendLine($" Data: GetTemporaryFilename");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, PlayMultimediaFile data)
|
|
{
|
|
builder.AppendLine($" Data: PlayMultimediaFile");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.XPosition, $" X position");
|
|
builder.AppendLine(data.YPosition, $" Y position");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, NewEvent data)
|
|
{
|
|
builder.AppendLine($" Data: NewEvent");
|
|
builder.AppendLine(data.Padding, $" Padding");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, Unknown0x19 data)
|
|
{
|
|
builder.AppendLine($" Data: Unknown0x19");
|
|
builder.AppendLine(data.Operand_1, $" Unknown");
|
|
builder.AppendLine(data.Operand_2, $" Unknown");
|
|
builder.AppendLine(data.Operand_3, $" Unknown");
|
|
builder.AppendLine(data.Operand_4, $" Unknown");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ConfigODBCDataSource data)
|
|
{
|
|
builder.AppendLine($" Data: ConfigODBCDataSource");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.FileFormat, $" File format");
|
|
builder.AppendLine(data.ConnectionString, $" Connection string");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, IncludeScript data)
|
|
{
|
|
builder.AppendLine($" Data: IncludeScript");
|
|
builder.AppendLine(data.Count, $" Count");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, AddTextToInstallLog data)
|
|
{
|
|
builder.AppendLine($" Data: AddTextToInstallLog");
|
|
builder.AppendLine(data.Text, $" Text");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, RenameFileDirectory data)
|
|
{
|
|
builder.AppendLine($" Data: RenameFileDirectory");
|
|
builder.AppendLine(data.OldPathname, $" Old pathname");
|
|
builder.AppendLine(data.NewFileName, $" New file name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, OpenCloseInstallLog data)
|
|
{
|
|
builder.AppendLine($" Data: OpenCloseInstallLog");
|
|
builder.AppendLine(data.Flags, $" Flags");
|
|
builder.AppendLine(data.LogName, $" Log name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ElseIfStatement data)
|
|
{
|
|
builder.AppendLine($" Data: ElseIfStatement");
|
|
builder.AppendLine(data.Operator, $" Operator");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Value, $" Value");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, Unknown0x24 data)
|
|
{
|
|
builder.AppendLine($" Data: Unknown0x24");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, Unknown0x25 data)
|
|
{
|
|
builder.AppendLine($" Data: Unknown0x25");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, InvalidOperation data)
|
|
{
|
|
builder.AppendLine($" Data: InvalidOperation");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Function Actions
|
|
|
|
private static void Print(StringBuilder builder, AddDirectoryToPath data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: AddDirectoryToPath");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Directory, $" Directory");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, AddToAutoexecBat data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: AddToAutoexecBat");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.FileToEdit, $" File to edit");
|
|
builder.AppendLine(data.TextToInsert, $" Text to insert");
|
|
builder.AppendLine(data.SearchForText, $" Search for text");
|
|
builder.AppendLine(data.CommentText, $" Comment text");
|
|
builder.AppendLine(data.LineNumber, $" Line number");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, AddToConfigSys data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: AddToConfigSys");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.FileToEdit, $" File to edit");
|
|
builder.AppendLine(data.TextToInsert, $" Text to insert");
|
|
builder.AppendLine(data.SearchForText, $" Search for text");
|
|
builder.AppendLine(data.CommentText, $" Comment text");
|
|
builder.AppendLine(data.LineNumber, $" Line number");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, AddToSystemIni data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: AddToSystemIni");
|
|
builder.AppendLine(data.DeviceName, $" Device name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ReadIniValue data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: ReadIniValue");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine(data.Section, $" Section");
|
|
builder.AppendLine(data.Item, $" Item");
|
|
builder.AppendLine(data.DefaultValue, $" Default value");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, GetRegistryKeyValue data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: GetRegistryKeyValue");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Key, $" Key");
|
|
builder.AppendLine(data.Default, $" Default");
|
|
builder.AppendLine(data.ValueName, $" Value name");
|
|
builder.AppendLine(data.Root, $" Root");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, RegisterFont data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: RegisterFont");
|
|
builder.AppendLine(data.FontFileName, $" Font file name");
|
|
builder.AppendLine(data.FontName, $" Font name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, Win32SystemDirectory data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: Win32SystemDirectory");
|
|
builder.AppendLine(data.VariableName, $" Variable name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CheckConfiguration data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: CheckConfiguration");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Message, $" Message");
|
|
builder.AppendLine(data.Title, $" Title");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, SearchForFile data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: SearchForFile");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.FileName, $" File name");
|
|
builder.AppendLine(data.DefaultValue, $" Default value");
|
|
builder.AppendLine(data.MessageText, $" Message text");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ReadWriteBinaryFile data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: ReadWriteBinaryFile");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.FilePathname, $" File pathname");
|
|
builder.AppendLine(data.VariableName, $" Variable name");
|
|
builder.AppendLine(data.FileOffset, $" File offset");
|
|
builder.AppendLine(data.MaxLength, $" Max length");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, SetVariable data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: SetVariable");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Value, $" Value");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, GetEnvironmentVariable data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: GetEnvironmentVariable");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Environment, $" Environment");
|
|
builder.AppendLine(data.DefaultValue, $" Default value");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CheckIfFileDirExists data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: CheckIfFileDirExists");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine(data.Message, $" Message");
|
|
builder.AppendLine(data.Title, $" Title");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, SetFileAttributes data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: SetFileAttributes");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.FilePathname, $" File pathname");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, SetFilesBuffers data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: SetFilesBuffers");
|
|
builder.AppendLine(data.MinimumFiles, $" Minimum files");
|
|
builder.AppendLine(data.MinimumBuffers, $" Minimum buffers");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, FindFileInPath data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: FindFileInPath");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.VariableName, $" Variable name");
|
|
builder.AppendLine(data.FileName, $" File name");
|
|
builder.AppendLine(data.DefaultValue, $" Default value");
|
|
builder.AppendLine(data.SearchDirectories, $" Search directories");
|
|
builder.AppendLine(data.Description, $" Description");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CheckDiskSpace data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: CheckDiskSpace");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.ReserveSpace, $" Reserve space");
|
|
builder.AppendLine(data.StatusVariable, $" Status variable");
|
|
builder.AppendLine(data.ComponentVariables, $" Component variables");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, InsertLineIntoTextFile data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: InsertLineIntoTextFile");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.FileToEdit, $" File to edit");
|
|
builder.AppendLine(data.TextToInsert, $" Text to insert");
|
|
builder.AppendLine(data.SearchForText, $" Search for text");
|
|
builder.AppendLine(data.CommentText, $" Comment text");
|
|
builder.AppendLine(data.LineNumber, $" Line number");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ParseString data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: ParseString");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Source, $" Source");
|
|
builder.AppendLine(data.PatternPosition, $" Pattern position");
|
|
builder.AppendLine(data.DestinationVariable1, $" Destination variable 1");
|
|
builder.AppendLine(data.DestinationVariable2, $" Destination variable 2");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ExitInstallation data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: ExitInstallation");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, SelfRegisterOCXsDLLs data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: SelfRegisterOCXsDLLs");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Description, $" Description");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, InstallDirectXComponents data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: InstallDirectXComponents");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.RootPath, $" Root path");
|
|
builder.AppendLine(data.LibraryPath, $" Library path");
|
|
builder.AppendLine(data.SizeOrOffsetOrFlag, $" Size or offset");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, WizardBlockLoop data, int i)
|
|
{
|
|
// TODO: Fix this when the model is updated
|
|
builder.AppendLine($" Entry {i}: WizardBlockLoop");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.DirectionVariable, $" Direction variable");
|
|
builder.AppendLine(data.DisplayVariable, $" Display variable");
|
|
builder.AppendLine(data.XPosition, $" X position");
|
|
builder.AppendLine(data.YPosition, $" Y position");
|
|
builder.AppendLine(data.FillerColor, $" Filler color");
|
|
builder.AppendLine(data.Operand_6, $" Operand 6");
|
|
builder.AppendLine(data.Operand_7, $" Operand 7");
|
|
builder.AppendLine(data.Operand_8, $" Operand 8");
|
|
builder.AppendLine(data.DialogVariableValueCompare, $" Dialog variable value compare");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ReadUpdateTextFile data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: ReadUpdateTextFile");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.Variable, $" Variable");
|
|
builder.AppendLine(data.Pathname, $" Pathname");
|
|
builder.AppendLine(data.LanguageStrings, $" Language strings");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, PostToHttpServer data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: PostToHttpServer");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.URL, $" URL");
|
|
builder.AppendLine(data.PostData, $" POST data");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, PromptForFilename data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: PromptForFilename");
|
|
builder.AppendLine(data.DataFlags, $" Data flags");
|
|
builder.AppendLine(data.DestinationVariable, $" Destination variable");
|
|
builder.AppendLine(data.DefaultExtension, $" Default extension");
|
|
builder.AppendLine(data.DialogTitle, $" Dialog title");
|
|
builder.AppendLine(data.FilterList, $" Filter list");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, StartStopService data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: StartStopService");
|
|
builder.AppendLine(data.Operation, $" Operation");
|
|
builder.AppendLine(data.ServiceName, $" Service name");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, CheckHttpConnection data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: CheckHttpConnection");
|
|
builder.AppendLine(data.UrlToCheck, $" URL to check");
|
|
builder.AppendLine(data.Win32ErrorTextVariable, $" Win32 error text variable");
|
|
builder.AppendLine(data.Win32ErrorNumberVariable, $" Win32 error number variable");
|
|
builder.AppendLine(data.Win16ErrorTextVariable, $" Win16 error text variable");
|
|
builder.AppendLine(data.Win16ErrorNumberVariable, $" Win16 error number variable");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
private static void Print(StringBuilder builder, ExternalDllCall data, int i)
|
|
{
|
|
builder.AppendLine($" Entry {i}: ExternalDllCall");
|
|
if (data.Args is null)
|
|
builder.AppendLine((string?)null, $" Args");
|
|
else
|
|
builder.AppendLine(string.Join(", ", data.Args), $" Args");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Additional
|
|
|
|
private static void Print(StringBuilder builder, DeflateEntry data, int indent, int index = -1)
|
|
{
|
|
string padding = string.Empty.PadLeft(indent, ' ');
|
|
|
|
if (index >= 0)
|
|
builder.AppendLine($"{padding}Deflate info {index}");
|
|
else
|
|
builder.AppendLine($"{padding}Deflate info");
|
|
|
|
builder.AppendLine($"{padding}-------------------------");
|
|
builder.AppendLine(data.DeflateStart, $"{padding} Deflate start");
|
|
builder.AppendLine(data.DeflateEnd, $"{padding} Deflate end");
|
|
builder.AppendLine(data.InflatedSize, $"{padding} Inflated size");
|
|
builder.AppendLine();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|