BugReportDude Posted March 6 Posted March 6 WoTTweakerPlus's window opens for a split second and closes. All options seem to be grayed out. A throbber in the center is visible. Removing all mods doesn't help. Quote
Administrator Aslain Posted March 6 Administrator Posted March 6 For me it's launching just fine, maybe check your user priviledges or antivir. Quote
BugReportDude Posted March 6 Author Posted March 6 I don't have an antivirus (Windows antivir thing is permanently disabled) What doesn't help: - Running as Administrator - Cleaning the Windows registry from all traces of WoTTweaker - Restoring original engine_config.xml - Enabling different compatibility options - Removing all mods The EXE is not blocked by the system, because WoTTweaker's window is displayed for half a second and then closed. I can tell it works for a bit, because it recognizes WoT installation path correctly. It just closes by itself without a message for some reason... Also an older version of WoTTweaker is working (but is incompatible with the current WoT version of course). I never had problems with WoTTweaker's previous versions. The OS is Windows 11 LTSC. I have 0 other problems with my system and apps. I'm out of ideas. Quote
Administrator Aslain Posted March 6 Administrator Posted March 6 Check the system logs (Event Viewer), maybe there's something there. Often applications need additional components that many already have in the system, such as Microsoft Visual C++ Redistributables (2010–2022), .NET Framework (sometimes older versions, e.g., 4.6 or 3.5) However if something was working recently but is not now, then it sounds like a typical antyvir issue. Quote
BugReportDude Posted March 6 Author Posted March 6 (edited) Thanks for the Event Viewer tip, WoTTweaker's crash dump is stored there: Spoiler Application: WoTTweakerPlus.2.2.0.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.ArgumentException at System.Text.Encoding.GetEncoding(Int32) at ICSharpCode.SharpZipLib.Zip.ZipFile.ReadEntries() at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor(System.String) at WoTTweakerPlus.TankDestruction..cctor() Exception Info: System.TypeInitializationException at WoTTweakerPlus.TankDestruction.GetFiles() at WoTTweakerPlus.TankDestruction.Worker_GetState(System.Object, System.ComponentModel.DoWorkEventArgs) at System.ComponentModel.BackgroundWorker.OnDoWork(System.ComponentModel.DoWorkEventArgs) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(System.Object) Exception Info: System.Reflection.TargetInvocationException at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary() at WoTTweakerPlus.TankDestruction.Worker_GetStateCompleted(System.Object, System.ComponentModel.RunWorkerCompletedEventArgs) at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(System.ComponentModel.RunWorkerCompletedEventArgs) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Application.RunDispatcher(System.Object) at System.Windows.Application.RunInternal(System.Windows.Window) at WoTTweakerPlus.App.Main() I asked ChatGPT about it and it said: Quote The crash is not caused by the .NET runtime version. The stack trace shows an application-level exception triggered while reading a ZIP file with SharpZipLib. Key line in the stack trace Exception Info: System.ArgumentException at System.Text.Encoding.GetEncoding(Int32) at ICSharpCode.SharpZipLib.Zip.ZipFile.ReadEntries() This means: The app opens a ZIP file: ICSharpCode.SharpZipLib.Zip.ZipFile..ctor(System.String) While parsing ZIP entries, SharpZipLib reads the filename encoding stored in the archive. It calls: Encoding.GetEncoding(codepage) That code page is not available on your system, so .NET throws ArgumentException. This then cascades into: TypeInitializationException in TankDestruction..cctor() TargetInvocationException unhandled exception → app terminates. Most likely cause The ZIP file contains filenames encoded with a legacy code page (often Russian/Asian encodings like 866, 1251, etc.), but the encoding provider isn't available. This commonly happens when: The program was written for older Windows/.NET environments The system lacks certain code pages The ZIP file is corrupted The ZIP was created with non-UTF8 encoding Since this app is a World of Tanks tweaker, the ZIP probably contains mod resources. Things to check (most likely → least) 1️⃣ Corrupted or incompatible ZIP file The program likely loads a ZIP at startup. Try: deleting its mods/cache/resources folder reinstalling the program replacing the ZIP resources. 2️⃣ Missing Windows legacy code pages Rare but possible if using stripped Windows builds. Install Language for non-Unicode programs support. Check: Control Panel → Region → Administrative → Change system locale Ensure it isn't set to something unusual. 3️⃣ Running on newer .NET behavior Some apps relying on legacy encodings need: System.Text.Encoding.CodePages But that would require the developer to fix it. 4️⃣ Bug in the program TankDestruction..cctor() is a static constructor. If it fails once, the type becomes unusable and the app crashes. That means the developer assumed something about the ZIP file that isn't true. ✅ Most probable cause: A ZIP file with unsupported or invalid filename encoding being opened by SharpZipLib. 💡 If you want, tell me: where the program is installed what files are in its folder whether there's a *.zip near the executable I can likely pinpoint the exact file causing the crash. I guess the ZIP in question is one of the WoT *.pkg resource files and something has changed in the latest WoTTweaker version that makes it unable to open it OR maybe WoTTweaker is incompatible with Windows 11 LTSC. My Windows 11 LTSC is installed from stock Microsoft ISO image, it has only one language: English, and the region is set to Europe. I have the latest .NET Framework 4.0 Runtime installed. At this point I'll assume the problem is unfixable on my side and that it can be easily fixed by changing the expected code page in the program's code. I hope phantasm sees this. Edited March 6 by BugReportDude Quote
Administrator Aslain Posted March 6 Administrator Posted March 6 What size is your WoTTweakerPlus.2.2.0.exe ? It should be 835584 bytes. Can you check it on another pc / laptop? For me it's launching just fine, no issues. Quote
BugReportDude Posted March 6 Author Posted March 6 It's the same size: 835584 bytes, md5sum is: 0e7ec13e6a81e223fb5466177c07272d. It came from the latest version of your modpack (great thanks for it!): Aslains_WoT_Modpack_Installer_v.2.2.0.0_04.exe. I don't have access to other PC. I checked and my system supports CP866/1251 code pages. ChatGPT diagnosis of the problem: Quote The crash is caused by: SharpZipLib misreading an invalid code page value from a WoT .pkg archive and passing it to Encoding.GetEncoding(), which throws ArgumentException. Not a .NET runtime issue and not missing Cyrillic support. As to why it works on your system? Maybe it has something to do with you running the NA version? At this point I'll stop trying to solve this problem. I hope phantasm sees this so he can take steps if he wishes to. Thank you Aslain for trying to help! Quote
Administrator Aslain Posted March 6 Administrator Posted March 6 On the Eu and Asia is the same and working, it was just an example. I don't know if he will see this. Quote
BugReportDude Posted March 6 Author Posted March 6 Thanks for the info. I narrowed down the crash cause to a single .pkg file: World_of_Tanks_EU\res\packages\shaders.pkg With this file renamed or removed WoTTweaker doesn't crash (no Event Viewer log). It launches but all options are greyed out and the game path is not detected automatically. When I specify the path, a message window pops up: Quote Path to "World of Tanks" game folder is incorrect. I tried verifying integrity of WoT installation - WoTTweaker still crashes. I tried repackaging shaders.pkg with ZIP Store method - WoTTweaker still crashes. I checked file names inside shaders.pkg archive - no files contain characters outside ASCII range. The file size of shaders.pkg is 143791441 bytes, md5sum: de872a3e26656b1a8c89048672e172fb. Quote
Administrator Aslain Posted March 6 Administrator Posted March 6 Maybe you are not launching this app with a proper priviledges, and that pkg have different settings. Quote
BugReportDude Posted March 6 Author Posted March 6 I tried running WoTTweaker as Administrator, via cmd.exe with Administrator privileges, and setting Run as administrator in exe's Compatibility tab (which all have the same effect) - it doesn't change anything, IMO it's not the cause of the problem. I found out that if I repackage shaders.pkg, WoTTweaker opens it correctly but then crashes while attempting to open next .pkg file. So theoretically I could repeat the repackaging process on all .pkg files that WoTTweaker opens on startup and then it would work properly. But I won't do that because it would be tedious and I don't really need WoTTweaker that much, I was just curious about something. I run multiple tests with ChatGPT's assistance and this is its final conclusion: Quote 💡 My suspicion level right now: Cause Probability LTSC missing globalization tables 35% SharpZipLib metadata bug 65% Your earlier test where repacking fixed the crash strongly points to the SharpZipLib bug. Basically, it's either WoTTweaker's incompatibility with Windows 11 (old SharpZipLib used in WoTTweaker that's buggy under newer Windows versions) or WoTTweaker's incompatibility with Windows 11 LTSC, which might be missing some additional language data that "full" Windows versions have. Aslain, were you testing WoTTweaker under Windows 10 by chance? Quote
Administrator Aslain Posted March 6 Administrator Posted March 6 No I have not, I run it on Win11. That's all I can do here, I'm affraid, maybe this bug will be checked by the app author and maybe he will fix it in future if there is error on his side. Quote
BugReportDude Posted March 7 Author Posted March 7 I found the solution: change Format to English (United States) in Windows Region settings. WoTTweaker could be fixed by the author (phantasm) by explicitly setting default code page in the app's source code to something like US or UTF-8, which would make it work on every system. Without it C# SharpZipLib assumes one from the Windows Region -> Format setting (I had English (Europe) set) which apparently causes problems on stripped versions of Windows like LTSC. 1 Quote
Administrator Solution Aslain Posted March 7 Administrator Solution Posted March 7 Try that, phantasm updated it to SharpZipLib 1.3.3 (latest to support NET45), WoTTweakerPlus.2.2.0.36243.exe Maybe you can reach the author directly on telegram, would be faster: https://telegram.me/Phantasm 1 Quote
BugReportDude Posted March 8 Author Posted March 8 The updated version launches without a problem. I have already reported this to Phantasm. Thank you Aslain for managing this issue with the author. 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.