diff --git a/autoload.bat b/autoload.bat index e566ac1..5ff5a91 100644 --- a/autoload.bat +++ b/autoload.bat @@ -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.'