
Just another thing I found out:
If you set the output type of ProIT's ClassLibraryWithReportGen to "Windows-Application" everything works. But that can not be the solution!
It looks like there is something wrong with getting the Localization path from the registry on 64bit systems.
This should be changed
Code: Select all
RegistryKey registryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("\\SOFTWARE\\Stimulsoft\\Stimulsoft Reports");
Code: Select all
RegistryKey registryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Stimulsoft\\Stimulsoft Reports");
And the phkResult in this function
Code: Select all
internal static string GetRegKey64(UIntPtr inHive, string inKeyName, Registry.RegSAM in32or64key, string inPropertyName)
{
int phkResult = 0;
try
{
if (0 != (int) Registry.RegistryWOW6432.RegOpenKeyEx(Registry.RegHive.HKEY_LOCAL_MACHINE, inKeyName, 0U, (int) (Registry.RegSAM.QueryValue | in32or64key), out phkResult))
return (string) null;
And in your latest version which is compiled against .Net 4.0 you should use the new framework methods to get registry keys:
Code: Select all
RegistryKey registryKey;
if (Environment.Is64BitOperatingSystem == true)
{
registryKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64);
}
else
{
registryKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry32);
}
