1

以下を含む製品の大規模なスイートがあります。

  • VB6で書かれたデスクトップアプリ。
  • .NETで記述されたデスクトップアプリ。
  • .NETで記述されたWindowsサービス。
  • .NETで記述されたASP.NETWebアプリ。
  • .NETで記述されたASMXおよびWCFサービス。

すべての.NETコードはVS2008で記述されており、.NET3.5と「任意のCPU」を対象としています。特定のプロセッサをターゲットにすることもできますが、依存関係ツリーのさらに下で問題が発生するため、ターゲットにしない方がよいでしょう。.NET 4.0に移行することはできませんが、後でオプションになります。

すべてのアプリは、いくつかの重要なレジストリキーを共有しています。.NETコードが常に32ビットレジストリビューを参照するようにすることで、レジストリリダイレクトの問題を回避しました。

一部の.NETコードはCOM相互運用機能を介してVB6DLLと通信しますが、これは非常に制限されており、この依存関係を簡単に削除できます(今すぐコメントアウトし、後で.NETで書き直してください)。

すべてのWebアプリとサービスは、IISでホストされるように設計されています。5.1以降のすべてのバージョンをサポートする必要があります。

ビルドVMは現在WindowsXP(32ビット)を実行しています。必要に応じて新しいものを作成できます。

私の任務は、64ビットWindows(すべてのバージョン)ですべてが問題なく実行されることを確認することです。現在、.NETセットアッププロジェクトで問題が発生しています。これらはすべて、VS2008セットアッププロジェクトテンプレートを使用して作成されています。

ソースコードがAnyCPUであっても、セットアッププロジェクトにはこの機能がありません。TargetPlatformプロパティを1つのプロセッサに設定する必要があります。これはあまり役に立ちません。setup.exe32ビットO/Sに32ビットとして、64ビットO / Sに64ビットとしてインストールするものはありませんか?私がアプリをインストールするエンドユーザーの場合、実行するセットアッププログラムがわかりません。

4

2 に答える 2

1

それ以来、VS2010セットアッププロジェクト、WiX、およびInstallShieldを調査しましたが、それらはすべて同じように動作します。この質問を「不可能」と書き留める必要があります。私は次のいずれかを行うつもりです:

  • 32ビットと64ビットのインストーラーを別々に提供するだけです。
  • 別のローダーバッチファイルまたはexeを作成して、ビット数を検出し、適切なインストーラーを実行します。
于 2011-06-06T08:13:11.213 に答える
0

32ビットまたは64ビットのDLLを含め、実行時にロードするDLLを決定するアプリがあります。私はこれを達成するために私の旧友setup2goに行き着きました。64ビットdllをx86インストーラーに取り込むことができなかったとしても、x64に変更しない限り、それは私が望んでいたことではありません。32ビットシステムにもインストールする必要があります。64ビットDLLは少しスペースを取りますが、害はありません。 。

したがって、google setup2goだけで、それは可能ですが、MSIではおそらくそうではありません。

于 2013-01-24T11:16:23.440 に答える