GhostBuster 1.0.4.0 portable issues

Jan 13, 2014 at 10:39 PM
Hello,

I'm having a crash when trying to run on Windows XP SP3. On a Windows Server 2003 SP2, the application does not open the window and an event is logged.

Event Log details on XP:

Tipo de evento: Erro
Fonte de evento: .NET Runtime
Categoria do evento: Nenhuma
Id. do evento: 1026
Data: 13/01/2014
Hora: 20:33:07
Usuário: N/A
Computador: LAB-LAP
Descrição:
Aplicativo: GhostbusterPortable.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi terminado devido a uma exceção sem tratamento.
Informações da Exceção: System.TypeLoadException
Pilha:
em System.ModuleHandle.ResolveMethod(System.Reflection.RuntimeModule, Int32, IntPtr*, Int32, IntPtr*, Int32)
em System.ModuleHandle.ResolveMethodHandleInternalCore(System.Reflection.RuntimeModule, Int32, IntPtr[], Int32, IntPtr[], Int32)
em System.ModuleHandle.ResolveMethodHandleInternal(System.Reflection.RuntimeModule, Int32, System.RuntimeTypeHandle[], System.RuntimeTypeHandle[])
em System.Reflection.CustomAttributeData..ctor(System.Reflection.RuntimeModule, System.Reflection.CustomAttributeRecord)
em System.Reflection.CustomAttributeData.GetCustomAttributes(System.Reflection.RuntimeModule, Int32)
em System.Reflection.CustomAttributeData.GetCustomAttributesInternal(System.Reflection.RuntimeAssembly)
em System.Reflection.RuntimeAssembly.GetCustomAttributesData()
em System.Reflection.CustomAttributeData.GetCustomAttributes(System.Reflection.Assembly)
em System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage(System.Reflection.Assembly, System.Resources.UltimateResourceFallbackLocation ByRef)
em System.Resources.ResourceManager.CommonSatelliteAssemblyInit()
em System.Resources.ResourceManager..ctor(System.Type)
em System.ComponentModel.ComponentResourceManager..ctor(System.Type)
em Ghostbuster.Mainform.InitializeComponent()
em Ghostbuster.Mainform..ctor()
em Ghostbuster.Program.Main()

Event Log details on Server 2003:

Application: GhostbusterPortable.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeLoadException
Stack:
at System.ModuleHandle.ResolveMethod(System.Reflection.RuntimeModule, Int32, IntPtr*, Int32, IntPtr*, Int32)
at System.ModuleHandle.ResolveMethodHandleInternalCore(System.Reflection.RuntimeModule, Int32, IntPtr[], Int32, IntPtr[], Int32)
at System.ModuleHandle.ResolveMethodHandleInternal(System.Reflection.RuntimeModule, Int32, System.RuntimeTypeHandle[], System.RuntimeTypeHandle[])
at System.Reflection.CustomAttributeData..ctor(System.Reflection.RuntimeModule, System.Reflection.CustomAttributeRecord)
at System.Reflection.CustomAttributeData.GetCustomAttributes(System.Reflection.RuntimeModule, Int32)
at System.Reflection.CustomAttributeData.GetCustomAttributesInternal(System.Reflection.RuntimeAssembly)
at System.Reflection.RuntimeAssembly.GetCustomAttributesData()
at System.Reflection.CustomAttributeData.GetCustomAttributes(System.Reflection.Assembly)
at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage(System.Reflection.Assembly, System.Resources.UltimateResourceFallbackLocation ByRef)
at System.Resources.ResourceManager.CommonSatelliteAssemblyInit()
at System.Resources.ResourceManager..ctor(System.Type)
at System.ComponentModel.ComponentResourceManager..ctor(System.Type)
at Ghostbuster.Mainform.InitializeComponent()
at Ghostbuster.Mainform..ctor()
at Ghostbuster.Program.Main()
Coordinator
Jan 14, 2014 at 3:21 PM
Hi

I'm trying to reproduce this issue (but I have no WinXp machines around anymore, let alone that I can run a debugger on it).

If you use the Click-Once installer it just works.

Regards
wvdvegt
Jan 14, 2014 at 11:17 PM
Edited Jan 14, 2014 at 11:18 PM
If you want to, I can provide you a XP system over TeamViewer session.

(I really prefer the portable one, faster, doesn't need internet access, run on any machine)

Regards
Coordinator
Jan 14, 2014 at 11:41 PM
Hi,

I found an old xpmode vm and will be using it for testing. Sofar the click-once installer works, the portable exe crashes and i have to test the installer version. I have no clue yet why the portable version crashes but i will try some different il-merge settings.

What you could try in the meanwhile is use the installer version and copy the directory to another computer. Ghostbuster can be copied without problems. The settings are located under %appdata%\ghostbuster in an ini file.

Regards
Wvdvegt
Coordinator
Jan 15, 2014 at 8:48 AM
Hi

I still have no clue what exactly caused the problem but I managed to merge the executable and assemblies on Windows XP against .Net 4.0 Full and the resulting portable version works. I think the problems are caused by the .Net 4.5 Framework (but then it's still strange that click-once version and the installer version both work on Windows XP).

You can download it through the Downloads tab.

In the future you can easily merge the executable with the assemblies that you get by installing the installer version. Easiest way is install ILMerge and ILMergeGui and use ILMergeGui (https://ilmergegui.codeplex.com/) to do the merging.

regards
wvdvegt
Marked as answer by wvd_vegt on 12/31/2014 at 6:08 AM
Jan 15, 2014 at 4:54 PM
I confirm that now GhostbusterPortableXp.exe works flawlessly with Windows 2003 and XP.

Thanks for taking the time to work around this issue.

Please keep it up! :)


Best regards and huge thanks