1

.NET アプリケーションは初めてです。

Visual Studio 2008 を使用して 32 ビット OS でアプリケーションを開発しました。

アプリケーションが PDF ファイルと MS Office ファイルを開くには、Microsoft.Interop サービスと PDF サービスが必要でした。

また、データベース操作には SQL Express が必要でした。

アプリケーションは 32 ビット OS で正常に動作します。

次に、64 ビット OS のセットアップを作成し、Visual Studio 2010 のウィザードを使用して新しいセットアップ プロジェクトを追加し、プライマリ出力とローカライズされたリソースを選択しました。

ただし、Resources フォルダーは Application フォルダーに含まれません。

ターゲット マシン 64x を設定してプロジェクトをビルドします。また、ビルドする前に、Windows Installer 3.1 と .net Framework 4.0 であるプロジェクトに前提条件を与え、アプリケーションで .net Framework 3.5 を使用しました。

次に、セットアップを実行すると、正常に実行されました。しかし、アプリケーションを実行しようとすると、「アプリケーションは動作を停止しました。Web からソリューションを検索しています..」というメッセージが表示され、終了しました。

次に、リソースフォルダーがないことがわかったので、リソースフォルダーをインストール先のアプリケーションにコピーしました。その後、アプリケーションは正常に機能しました。

そこで再度セットアップを作成しましたが、今回はアプリケーション フォルダーに Resources フォルダーも提供しました。セットアップをビルドし、アプリケーションを実行しようとしましたが、「アプリケーションが動作を停止しました...」という前に表示されていたのと同じメッセージが表示されるため、リソースフォルダーとそこにあるすべての必要なファイルを探しました。

4

3 に答える 3

4

別の 64 ビット バージョンを作成しても意味がありません。

32 ビット コンポーネントに依存しています。結果として、すべてのアセンブリをx86 ターゲット プラットフォームにコンパイルし、32 ビット MSI を使用してインストールする必要があります。

「アプリケーションが動作を停止しました...」というエラーが発生した場合、これは、プロセスによって処理されていない例外が発生したことを示しています。イベント ログなどからスタック トレースを取得できます。

1実際、少なくともエントリ アセンブリには x86 ターゲット プラットフォームが必要であり、他のすべてのアセンブリには x86 または AnyCPU ターゲット プラットフォームが必要です。

于 2013-01-29T11:26:50.933 に答える
0

私の質問に答えてくれてありがとう。最後に、セットアップの作成中にSQLデータベースを2008に変換していることがわかりました。そして、クライアントマシンにSQL Express 2005を設定していました。次に、SQL Server 2005 を sql Express 2008 に変更し、セットアップを実行しました。次に、最初にexeが変換するすべての権利を必要とすることがわかったので、管理者として実行してセットアップを試み、ビンゴは2つの異なるPCで動作します.最初にアプリケーションを実行する必要があることだけが必要です.管理者として。助けてくれてありがとう

于 2013-01-30T14:27:28.250 に答える
0

プロジェクトでプラットフォーム ターゲットを x64 または AnyCPU に変更したことを確認します -> ビルド プロパティ

于 2013-01-29T11:29:42.233 に答える