2011-08-11 9 views
1

私はしばらくの間アプリケーションに取り組んでいました。私は最終的に上司にデモンストレーションする準備ができました。しかし、私は彼のマシンにインストールしたときに物事が崩壊しました。そのコアでは、C:\ Windows \ System32 \ inetsrv \ appcmd.exeの文字列出力に反応します。私たちの会社の他の開発者のための補助的なアプリケーションです - 私たちのマシンはほとんど同じ構成です。ソフトウェアがどのように反応したかで判断すると、そのプログラムから正しく出力を読み取ることができませんでした。Visual Studio 2010 C#プロジェクトのインストーラを作成するにはどうすればよいですか?

アプリケーションとappcmd.exeの間に権限の問題があるかどうかは分かりませんが、インストーラーかもしれません。私は自分のソリューションを自分のマシンにロードしようとしましたが、私のマシンが明らかに持っていた鍵を持っていなかったのでビルドできませんでした。私はインストーラーと同様の話があるのだろうかと思っています。

exeをビルドしてインストーラでそのexeをパッケージ化するのではなく、publish関数を使ってみてください。今はメインプロジェクトからの出力を取っているこのプロジェクトの内部にインストーラプロジェクトがあります。私はそれが "正しい"か正しい方法があるかどうかは分かりません。私は最近Wixをインストールしましたが、それが私にも役立つかどうかはわかりません。このアプリケーションの展開を正しく行うにはどうすればよいですか?

+1

問題が発生した場合は、問題がどのように表示されるかに関するすべての詳細を提供する必要があります。通常、インストーラを変更してもアプリケーションの動作は変わりません。ファイルをコンピュータにコピーするだけでも、インストーラは必要ありません。 –

+0

'C:\ Windows \ System32 \ inetsrv \ appcmd.exe'がマシン上の正確なパスに存在していますか?コマンドプロンプトから手動で実行できますか? –

+0

@Albinコピー/ペーストを試してみるかもしれません。 Matthieuの提案に従ってClickOnceを最初に試してみてください。 appcmdは存在し、アプリケーションが実行しているコミットが実際に自分のマシンで動作していることを確認しました。このアプリケーションは、私の会社の他の開発者のための補助的なアプリケーションであり、我々は同じdevのマシン構成を持っています。 – anjunatl

答えて

0

問題はパーミッションの問題であり、インストーラについては何も問題はありませんでした。私たちはちょうど<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />を含むapp.manifestを必要とし、ClickOnceはそれを許さなかったので、私たちは.msiインストーラを使い、物事はうまく動いています。

0

デスクトップアプリケーションにはClickOnceを試してください。あなたが言ったように、あなたのプロジェクトのプロパティの "Publish"タブにあります。

+0

MSDNリンクの最後からかっこを削除すると、*常に*現在のバージョンのドキュメントを指します。 –

+0

これで問題は解決されませんでした。 app.manifestファイルに ''を追加すると、ClickOnceをマニフェストと一緒に使用することができなくなりました。 – anjunatl

関連する問題