在64位平台上,SQL Reporting Services和加载项的安装检查失败.安装程序正在检查路径"HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names"下的注册表项,并且注册表项可用,但由于MS SQL Server是64位应用程序,因此安装程序将重定向到路径"HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\Microsoft SQL Server\Instance Names"并且没有相同的条目.因此安装检查失败.
解决方法:我已经通过在"HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\Microsoft SQL Server\Instance Names\RS"下手动创建条目对其进行了测试,然后安装检查成功.
简而言之,在x64平台上,installed-check指的是来自WOW6432node的注册表项,而不是64位的注册表项.
那么,我如何强制我的32位安装程序访问64位注册表以进行正确的安装检查?
我已经尝试过RegDisableReflectionKey和相关函数作为注册表重定向的替代方法,但它在我的结束时不起作用.
我该如何解决这个问题?
之前,当我使用win32时,我使用FreeImage来加载和保存比特深度大于8位的位图.这是我合作的每一张图片,因为我正在进行医学成像,在任何人说什么之前,是的,我和我的客户花了很多钱在高亮度,高对比度的显示器上,具有11或12位动态范围.实际上,如果您感到好奇,ACR对运行乳房X线照相术的要求会使显示器的动态范围至少为10位.
我刚刚切换到x64来获取内存开销,并将我的所有开发都集中到一个平台和编译模式上.我宁愿不回到win32,我的客户就在我身边(并且真的强迫改变).FreeImage不能在64位窗口上编译; 它在编译器无法处理的代码中有一个_asm指令.
我以为我会在Microsoft类中尝试本机.NET支持.简而言之:它们不起作用,并且在错误消息非常有限的情况下失败.我怀疑这是因为Microsoft仍然不支持Format16bppGrayScale类.
也许我的代码中存在问题.这是我写的代码:
Bitmap theBitmap = new Bitmap(inImage.XSize, inImage.YSize, PixelFormat.Format16bppGrayScale);
//have to go with lockbits
Rectangle rect = new Rectangle(0, 0, theBitmap.Width, theBitmap.Height);
System.Drawing.Imaging.BitmapData bmpData =
theBitmap.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
PixelFormat.Format16bppGrayScale);
IntPtr ptr = bmpData.Scan0;
int theByteSize = theBitmap.Width * theBitmap.Height *2;
byte[] theByteBuffer = new byte[theByteSize];
System.Buffer.BlockCopy(inImage.Data, 0, theByteBuffer, 0, theByteSize);
System.Runtime.InteropServices.Marshal.Copy(theByteBuffer, 0, ptr, theByteSize);
theBitmap.UnlockBits(bmpData);
theBitmap.Save(inDirectory + "\\" + inName);
theBitmap.Dispose();
Run Code Online (Sandbox Code Playgroud)
此代码使程序崩溃
An unhandled exception of type
'System.Runtime.InteropServices.ExternalException' occurred in
System.Drawing.dll
Additional information: A …
Run Code Online (Sandbox Code Playgroud) 我在让我的游戏引擎在我兄弟的机器上运行时遇到了问题,该机器运行的是64位Windows 7.我正在使用32位XP SP2进行开发.
我的应用程序使用XNA,FMOD.NET和我在C#中完全编写的另一个dll.一切都针对x86,而不是AnyCPU.我已经读过,这是XNA工作所必需的,因为没有64位的xna框架.我将FMOD.NET重新编译为x86,并确保使用32位版本的本机dll.所以我没有看到任何问题.
然而,当他试图运行我的应用程序时,它给出了一个神秘的错误,但并非闻所未闻.
A FileNotFoundException
具有空文件名,并且堆栈跟踪的顶部位于我的主窗体构造函数中.信息是The specified module could not be found. (Exception from HRESULT: 0x8007007E)
我在网上发现了一些关于这个错误的线索,所有这些都是非常模糊,混合和模糊的反应,并没有真正帮助我.大多数提醒人们瞄准x86.有人说检查他们是否有必要的所有dll.
我给了我的兄弟Microsoft.Xna.Framework.dll
,但他是否需要安装整个XNA可再发行组件包?当我拿走他寄给他的所有内容并将其粘贴在一个随机目录中时,它对我来说仍然运行良好.我在VS2008中开发了游戏,而不是在游戏工作室,使用XNA 3.0和使用XNA绘图的Windows窗体控件,这是我在msdn教程中找到的.如果可能的话,我还想避免要求完整的安装程序.
任何见解?请?
我使用JDBC连接到我的微软访问数据库.当我尝试连接到数据库时,我收到以下异常:
java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
我使用64位windows7,我使用的是eclipse也是64位版本我的数据库是一个微软的访问数据库,似乎驱动程序是32位驱动程序导致问题.
任何有关如何解决这个问题的帮助将不胜感激.
我有一个使用WMI从远程计算机查询的win32_process对象的集合.如何确定每个进程是32位还是64位?
我正在开发Delphi 7中的JNI DLL文件.生成的文件将是32位DLL,不适用于64位Java VM.
Delphi 7可以生成c或c ++目标文件.是否可以使用第三方链接器从这些目标文件创建64位DLL?
我必须将项目从32位升级到64位.我的项目目前在.net 2.0上(将很快4.0,但对于这个问题并不重要).我的项目引用了一些旧的.net 1.1程序集,我只有二进制形式.众所周知,仅在.net 2.0中添加了64位支持,我希望我的应用程序不会因为那些旧程序集而运行.
但是,我的应用程序在64位模式下运行x64服务器(在任务管理器中没有显示星号),同时引用.net 1.1 dll.
我的问题是:
编辑:我忘了提到一个要求是以64位本地运行应用程序(asp.net).应用程序以64位运行,因为我在应用程序池上禁用了32位兼容性.
EDIT2:我刚刚尝试编译并运行为x64编译的应用程序.有用.所以它运行在纯64位模式,没有任何问题.
我一直在尝试使用QT Jambi,但我还是无法安装它.首先,这是我的系统:
Windows 7家庭高级版64位
Java 6 32位(我经常使用与64位版本的Java不兼容的JDownloader)
Code :: Blocks附带的MinGW C++编译器(在安装过程中设置所有必需的环境变量)
我也安装了CygWin,但是我不明白为什么在我得到的错误中它会被提及...
我的第一个想法是尝试32位版本,因为我有32位Java,所以我链接了Eclipse中的库,尝试了教程中的经典初学者程序,我得到了这样的消息:
java.lang.ExceptionInInitializerError
at com.trolltech.qt.QtJambiObject.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: Loading library failed, progress so far:
Unpacking .jar file: 'qtjambi-win32-msvc2008-4.7.1.jar'
Checking Archive 'qtjambi-win32-msvc2008-4.7.1.jar'
- skipping because of wrong system: trying to load: 'win32', expected: 'win64'
Loading library: 'QtCore4.dll'...
- using 'java.library.path'
at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(Unknown Source)
at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(Unknown Source)
at com.trolltech.qt.Utilities.loadQtLibrary(Unknown Source)
at com.trolltech.qt.Utilities.loadQtLibrary(Unknown Source)
at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(Unknown Source)
... 1 more
Caused by: java.lang.RuntimeException: Library 'QtCore4.dll' was not found in 'java.library.path'=C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C: …
Run Code Online (Sandbox Code Playgroud) 我正在处理unsigned long long
从字符串中读取64位无符号整数的问题.我的代码应该适用于GCC 4.3和Visual Studio 2010.
我读了这个问题并回答了这个主题:从文件中读取64位整数字符串,这样strtoull
可以使工作比使用a更好,更有效std::stringstream
.很遗憾strtoull
在Visual Studio中不可用stdlib.h
.
所以我写了一个简短的模板函数:
template <typename T>
T ToNumber(const std::string& Str)
{
T Number;
std::stringstream S(Str);
S >> Number;
return Number;
}
unsigned long long N = ToNumber<unsigned long long>("1234567890123456789");
Run Code Online (Sandbox Code Playgroud)
我担心这个解决方案的效率,所以在这个方案中有更好的选择吗?
我只使用Qt(版本4.8)大约一个星期,它的工作就像一个魅力.到目前为止,我只使用Qt创建器构建了32位应用程序,但是我想将我的应用程序构建为64位应用程序,因为它处理大型数据集并需要大量RAM.有人可以告诉我从Qt creator构建项目作为64位应用程序涉及的步骤是什么?请注意我的操作系统是Widows 7 Ultimate 64位,我也在同一台机器上安装了Visual Studio 2010 Pro.提前致谢