問題タブ [syswow64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 32ビットコードからSystem32で64ビット実行可能ファイルを実行する
32 ビット C# アプリ (64 ビット OS 上) から実行可能ファイルを実行しようとしていますが、おそらく wsqmcons.exe が C:\Windows に存在しないため、「指定されたファイルが見つかりません」というメッセージが表示されます。 \SySWOW64. ファイルは System32 に存在します。可能であれば、コードから wsqmcons.exe を実行する最良の方法は何ですか?
dll - MMC スナップインが、PATH ディレクトリにあるサードパーティの DLL を見つけられない
32 ビット MMC スナップインで問題が発生しています (x64 サーバー 2008 マシン上)。スナップインが正常に登録されました。mmc (32 ビット オプション) を使用して associated.msc ファイルを起動すると、スナップインの名前が LHS に表示されますが、RHS には、ページを読み込めないというエラー ページが表示されます。
procmon を使用して、問題が、製品と共に出荷され、スナップインによって使用される DLL を見つけられないことに関連していることを特定したと思います。これはディレクトリ c:\\bin にあり、このディレクトリは PATH 環境変数で指定されます。ただし、MMC は c:\windows\sysWOW6432 ディレクトリ (つまり、64 ビット マシン上の c:\windows\system32 の 32 ビット バージョン) のみを参照しているようです。PATH で指定された他のディレクトリ (c:\\bin ディレクトリを含む) も検索し続けたとしても、私はこれを気にしません。
私はこの仮説をテストし、DLL を syswow6432 ディレクトリに配置しましたが、そこからは正しく動作するようです。
すべての製品固有の DLL をシステム ディレクトリに配置したくないのは明らかであり、それらを製品固有のディレクトリ内に保持したいと考えています。
PATH で DLL を見つけられなかった理由と解決方法を説明できる人はいますか。
dll - 64ビット用のInstallScriptプロジェクトからセットアップをアンインストールするときに、system32フォルダーからDLLを削除します
InstallShield 2011を使用しており、InstallScriptプロジェクトで64ビットのセットアップを作成しています。
セットアップをインストールすると、DLLは64ビットシステムのsystem32フォルダーに移動します。しかし、問題は、セットアップをアンインストールしても、system32のDLLが削除されないことです。
DLLをSYSWOW64フォルダーにコピーしてセットアップをアンインストールすると、DLLはSYSWOW64フォルダーから削除されますが、systen32からは削除されません。
redirect - オフライン インストールでファイルとレジストリのリダイレクトは発生しますか?
ファイルとレジストリのリダイレクトは、 Windows のオフライン インストールのレジストリ ハイブとファイルで発生しますか? 実行中のオペレーティング システムではないにもかかわらず、32 ビット プログラムが 64 ビット システムのファイル システム/レジストリの別のビューを参照することを意味しますか?
delphi - IDE 内で実行している場合、Win7 64 ビットの Delphi2007 で ODBC DLL を読み込めません
誰でもこれを手伝ってもらえますか。
Delphi2007 12 月の更新を使用しています。
ODBC 経由で Gupta データベースに接続しようとすると、次のエラー メッセージが表示されます。指定されたモジュールが見つかりませんでした。C:\Windows\System32\c2gup15.dll。
DLL は 32 ビットで、c:\Windows\SysWow64 にあります。
コンパイルしたプログラムをスタンドアロンで (Delphi 内ではなく) 実行する場合、問題はありません。
XP (私の他のマシン) では、Delphi IDE 内で実行しても問題はありません。
この ODBC ドライバーを介して接続する他のすべての方法 (Excel など) は完全に機能します。
ODBCExpress と AnyDac の両方でこの問題が発生しています。
私が理解しているように:Win7 64ビットウィンドウで32ビットアプリを実行する場合、System32の代わりにSysWow64を自動的に使用する必要があります。
Delphi2007 は何らかの形でこれを台無しにしたり上書きしたりしますか?
それを解決する方法はありますか?(デバッガが使えない場合、ソフトウェアの開発は容易ではありません)
wix - SysWOW64のdllがアプリケーションで見つかりません
いくつかのカスタム32ビットdllを使用してUSBデバイスと通信するC#/WPFアプリを開発しています。x86アプリとして開発され、WIXとともにインストールされます。パッケージを64ビットマシンにインストールすると、期待どおりにプログラムファイルがプログラムファイル(x86)にインストールされます。
dllは、WIXを使用してSystemFolderにインストールされます。32ビットマシンでは、これはC:\ Windows\System32を意味します。64ビットでは、最終的にC:\ Windows\SysWOW64になります。これは問題ありませんが、アプリを実行するとdllが見つかりません([DllImport ...]を介してそれらを使用します)。
それで、それらがSystem32またはSysWOW64にあるかどうかにかかわらず、私のアプリにdllを検出させる正しい方法は何ですか?
ありがとうトム
nsis - NSIS スクリプトが正しいディレクトリにインストールされない
インストールスクリプトを作成しようとしています:
- 32 ビット PC の場合: tapi_32bits.tsp 内
C:\windows\system32
- 64 ビット PC の場合: tapi_64bits.tsp in
C:\Windows\System32
および tapi_32bits.tsp inC:\Windows\SysWOW64
これは私が書いたスクリプトです:
ただし、64 ビット PC では、両方のファイル (tapi_64bits.tsp と tapi_32bits.tsp) が Syswow64 フォルダーに配置されます。インストーラーは、正しいフォルダーにインストールされていると言っていますが、両方のファイルが Syswow64 フォルダーにあります。私は何を間違っていますか?
winapi - Win64 で KbdLayerDescriptor pVkToWcharTable が NULL を返す
ここでアイデアが不足しています。キーコードをユニコード文字に変換するためにhttp://thetechnofreak.com/technofreak/keylogger-visual-c/から適合させたコードがあります。64 ビット Windows から 32 ビット バージョンを実行しようとする場合を除き、すべての状況で問題なく動作します。何らかの理由で pKbd->pVkToWcharTable が NULL を返し続けます。kbd dll パスに SysWOW64 と System32 を明示的に指定するだけでなく、__ptr64 も試しました。この正確な問題または非常によく似た問題を参照しているアイテムをインターネット上でいくつか見つけましたが、解決策がうまくいかないようです (参照: KbdLayerDescriptor は 64 ビット アーキテクチャで NULL を返します)) 以下は、Windows XP で mingw-32 (gcc -std=c99 Wow64Test.c) でコンパイルされ、Windows 7 64 ビットで実行された私のテスト コードです。Windows XP では有効なポインターを取得していますが、Windows 7 では NULL を取得しています。
***更新:私が抱えている問題は、sizeof 操作が Visual Studio によって与えられた 8 バイトではなく 4 バイトを与えるため、mingw が __ptr64 を正しく実装していないことが原因のようです。したがって、実際の解決策は、KBD_LONG_POINTER のサイズを動的または少なくとも 64 ビットにする方法を考え出すことですが、それが可能かどうかはわかりません。何か案は?
vbscript - バッチ ファイルからの vbscript の実行
vbscript を実行するためだけに、簡単なバッチ ファイルを作成する必要があります。vbscript とバッチ ファイルの両方が同じフォルダーにあり、sysWOW64 ディレクトリにあります。これは、vbscript がそのディレクトリでしか実行できないためです。現在、私のバッチファイルは次のとおりです。
しかし、vbscript は実行されず、コマンド プロンプトだけが開いています。このバッチ ファイルを実行するときに vbscript を実行する方法を教えてください。
windows-7 - Win764ビットOSのコマンドプロンプトから32ビット実行可能ファイルを起動する
私はWindows764ビットで作業していますが、奇妙な問題があります。installAnywhere(32ビットアプリケーション)をc:\ Programs(x86)にインストールしました。これは、ディレクトリ内のスペースの煩わしさを避けるために、通常の「c:\ ProgramFiles(x86)」にインストールしたくないためです。
次の構文を使用してコマンドプロンプトからinstallanywhereを呼び出そうとすると、次のようになります。cmd / c "c:\ Programs(x86)\ InstallAnywhereEnterprise \ build \ build.exe" ...エラー「c:\Programs」は指図。その理由は、(x86)部分を無視して、c:\ProgramsのinstallAnywhereを検索しようとしているためです。
コマンドプロンプトから32ビットプログラムと64ビットプログラムを起動する方法を調査し、%windir%\ SysWow64\cmd.exeを使用してみました。「%windir%\ SysWow64 \ cmd.exe」を使用すると、%programfiles%は「c:\ ProgramsFiles(x86)」を正しく指しますが、前述のコマンドを起動すると同じエラーが発生します。WindowsのFileSystemRedirectorは、引き続きc:\Programsを指します。InstallAnywhereをデフォルトの場所「C:\ ProgramsFiles(x86)」に再インストールしましたが、「C:\ Programs(x86)」で機能しない理由がわかりません。
誰かが回避策を知っていますか?