1

このWinFormsプロジェクト(これに基づいていますが、SharePoint 2010用に変更されています)があります。これは、実際にはSharePoint 2010ソリューションパッケージ(.wsp)をインストールするためのセットアップウィザードです。

このプロジェクトは、.wspのインストールに加えて、SQLServerデータベースでいくつかの.sqlスクリプトを実行します。

私の質問は、すべてのリソース(.wspファイル、.sqlファイル、イメージ)が埋め込まれたMSI / EXEインストーラーを作成して、配布するファイルが1つだけになるようにするにはどうすればよいですか?

Visual Studioセットアッププロジェクトを使用すると、インストーラーが生成されてインストーラーがインストールされるため、オプションではないことに注意してください。私はそれを必要としません、WinFormsプロジェクトはインストーラーです。

私が十分に明確であることを願っています。

ありがとう。

アップデート

明確にするために、WINFromsプロジェクトインストーラーです。ウィザードダイアログが含まれ、Sharepointソリューションをインストールするためのコードを実行し、SQLスクリプトを実行します。

プロジェクトをコンパイルすると、次の構造のファイルが大量に作成されます。

\en-us
\Resources
SomeThirdParty.dll
AnotherThirdParty.dll
Setup.application
Setup.exe
Setup.exe.config
Setup.exe.manifest
Setup.pdb
Setup.vshost.application
Setup.vshost.exe
Setup.vshost.exe.config
Setup.vshost.exe.manifest

必要なのは、自動抽出および自動実行するMSIインストーラーにすべてをパッケージ化するツールですsetup.exe。インストーラー自体を生成するツールではありません。インストーラーはすでにコーディングされており、WinFormsプロジェクト自体です。

4

3 に答える 3

1

Advanced Installerはこれをサポートしますが、必要な機能はライセンスされたバージョンでのみ利用できます。基本的に、プロジェクトを起動してSQLスクリプトを実行するだけのMSIラッパーを作成するか、専用のSharePointサポートを使用してみることができます。

別のアプローチは、 IExpressのようなものです。その中に含まれるファイルを起動する自己解凍型EXE。

于 2012-06-08T07:47:21.567 に答える
0

私は過去にWixを使用して成功しました。 http://wix.sourceforge.net/

リソースをmsiに埋め込むことができるため、配布するファイルは1つだけになります。さらに、実行する必要のあるカスタムインストール手順は、c#またはvb.netコードでカスタムアクションを記述することで実行できます。

于 2012-06-07T20:19:50.723 に答える
0

Cosmin Pirvuが述べたように、あなたは自己解凍型のインストーラーを求めています。私が過去に使用したものの1つは、 ZIP 2SecureEXEと呼ばれるChilkatSoftwareの無料バージョンです。

すべてのアセンブリが.NETの場合は、ILMergeを試して、それらすべてを1つのアセンブリにまとめることもできます。ただし、.manifestファイルと.configファイルでは役に立ちません。

編集:ILMergeを使用する代わりに、ここで説明するように、実行可能ファイルにdllを埋め込むこともできます。

于 2012-06-08T18:45:23.817 に答える