0

PowerBuilder アプリケーションを XP から Windows 7 に移行する際に問題が発生しています。

Windows XP の PowerBuilder でアプリケーションをビルドしました。Windows 7 マシンのコンポーネント サービスにコンポーネントをインストールしようとすると、互換性エラーが発生します。すべてが Windows XP で問題なく動作します。しかし、7 の DLL は非常に異なっているため、問題が発生していると思います。

Windows 7 環境で PowerBuilder IDE を使用してプログラムをビルドした場合、問題が解決する可能性はありますか?

アプリケーションは、
- Server 2003 で実行されるサーバー コンポーネント-
Win7 に正常にインストールされるクライアント コンポーネント -
サーバー コンポーネントのインストール時に MSI に生成されるプロキシ コンポーネントに分割されます。

問題はプロキシのみです。MSI は Windows 7 では動作しません。クライアント デスクトップにプロキシがインストールされていないと、クライアントはサーバーと通信できません。

Windows 7 で MSI を互換モードで実行すると、エラーの詳細が表示されます。どうぞ

プログラムの互換性の問題が見つかりました 互換性のないアプリケーション アプリケーションを修正 CCS_Proxy_XP_Exports

見つかった問題 互換性がないアプリケーション CCS_Proxy_XP_Exports は互換性がありません。

アプリケーションの修正 CCS_Proxy_XP_Exports 互換性のないアプリケーションを修正する手順を提供します。CompatMode CompatMode UserVerifySolution ソリューションのユーザー検証 Verify_NO

検出の詳細 収集情報 コンピュータ名: ########## Windows バージョン: 6.1 アーキテクチャ: amd64 時刻: 2012 年 11 月 14 日水曜日 11:56:36 AM

発行元の詳細 プログラムの互換性 古いプログラムをこのバージョンの Windows で実行できるようにします。パッケージ バージョン: 1.5 発行元: Microsoft Windows

プログラムの互換性 古いプログラムをこのバージョンの Windows で実行できるようにします。パッケージ バージョン: 1.0 発行元: Microsoft Corporation

イベント ログの詳細を表示すると、次のようになります。

「製品: クライアント通信 (アプリケーション プロキシ) -- エラー 1928。COM+ アプリケーションの登録中にエラーが発生しました。詳細については、サポート担当者にお問い合わせください。」</p>

4

2 に答える 2

0

一般的なアイデア

実際、win7 プラットフォームの dll は以前のものと変わりません。現在 WinSxS dll-hell ディレクトリに存在する複数の異なる C ランタイムに関連する違いがある可能性がありますが、これは powerbuilder に影響を与えるべきではありません (私の 11.5 クラシック リリースの経験から言えることです)。

UAC や ACL の管理に関連する問題があるのではないかと思います。最近、Vista / Win7 仕様に互換性を追加することで、一部のレガシー PB アプリケーションをアップグレードしました。

つまり、アプリケーションは管理者特権を必要とせずに実行する必要があり、 や などの特権のある場所でデータを変更しようとしてはなりませc:\c:\windows

program filesしたがって、すべてをディレクトリにインストールする必要はありません。アプリケーション バイナリは展開できますprogram filesが、アプリケーションがいくつかのファイルを作成/変更する必要がある場合は、ProgramDataユーザー共有データのサブディレクトリおよび/またはプライベート データのローカル ユーザー データ ファイルに展開する必要があります。正しいディレクトリでファイルを作成または検索するには、アプリケーションを変更する必要があります。標準に準拠していない場合、ファイル仮想化メカニズムは権限の欠如を隠し、VirtualStoreユーザー ローカル データ内のディレクトリ内のファイルをシミュレートできますが、これは単なる回避策であり、他の問題が発生します。

通信+エラー

エラー メッセージが表示され、プロキシも PB アプリケーションである場合、PB は 32 ビット バイナリのみを生成し、システムが 64 ビット システムであるという事実を考えると、32b COM+ を Win2008 に登録するためのヒントが役立つ可能性がありますか?

于 2012-11-21T16:38:58.283 に答える
0

プロキシ exe/dll ファイルにマニフェストがないか、マニフェストに互換性セクションが含まれていないと考えられます。マニフェストに互換性情報を追加してみてください。

于 2012-11-21T18:49:23.390 に答える