fix: Read auto-load assembly version from DLL

This commit is contained in:
VAC committed 2026-10-14 23:37:30 -03:00
1 parent 0031014f04
commit f594a72950
1 file changed
+3 -2
+3 -2
View File
@@ -68,7 +68,7 @@ exit /b 0
set "TERRASHARP_CONFIG_MODE=%~1"
set "TERRASHARP_CONFIG_PATH=%TerrariaDir%\Terraria.exe.config"
set "TERRASHARP_CONFIG_VALIDATE=%~2"
powershell -NoProfile -NonInteractive -Command "$source = [IO.File]::ReadAllText($env:TERRASHARP_AUTOLOAD_SCRIPT); & ([scriptblock]::Create($source.Substring($source.LastIndexOf('# PowerShell')))) -Mode $env:TERRASHARP_CONFIG_MODE -ConfigPath $env:TERRASHARP_CONFIG_PATH -ValidateOnly:($env:TERRASHARP_CONFIG_VALIDATE -eq '1')"
powershell -NoProfile -NonInteractive -Command "$source = [IO.File]::ReadAllText($env:TERRASHARP_AUTOLOAD_SCRIPT); & ([scriptblock]::Create($source.Substring($source.LastIndexOf('# PowerShell')))) -Mode $env:TERRASHARP_CONFIG_MODE -ConfigPath $env:TERRASHARP_CONFIG_PATH -AssemblyPath $env:DLL -ValidateOnly:($env:TERRASHARP_CONFIG_VALIDATE -eq '1')"
exit /b %errorlevel%
:launcher
@@ -91,13 +91,13 @@ param(
[string]$Mode,
[Parameter(Mandatory = $true)]
[string]$ConfigPath,
[string]$AssemblyPath,
[switch]$ValidateOnly
)
$ErrorActionPreference = 'Stop'
$managerType = 'TerraSharp.LoaderDomainManager'
$assemblyName = 'TerraSharp.Vanilla'
$assemblyIdentity = 'TerraSharp.Vanilla, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
$ConfigPath = [IO.Path]::GetFullPath($ConfigPath)
$document = New-Object Xml.XmlDocument
$document.PreserveWhitespace = $true
@@ -129,6 +129,7 @@ try {
$assemblyNodes = @($document.SelectNodes('/configuration/runtime/appDomainManagerAssembly'))
if ($Mode -eq 'Install') {
$assemblyIdentity = [Reflection.AssemblyName]::GetAssemblyName($AssemblyPath).FullName
foreach ($typeNode in $typeNodes) {
if ($typeNode.GetAttribute('value') -cne $managerType) {
throw 'Another AppDomainManager is configured; its entries were left unchanged.'