2

C# を使用して InstallShield セットアップを作成する方法をインターネットで検索してきました。そのために利用できる「InstallShield Automation Library」が 1 つあることを知りました。しかし、これまで見てきたすべての例は、既に作成されたプロジェクトをビルドするタスクを自動化するだけです。

c# を使用した InstallShield 自動化

しかし、私が必要とするのはこれです:

  1. 最初に、フォルダー構造などの詳細を手動で指定して、InstallShield プロジェクト (.ISM) を作成します。
  2. 次に、ISM ファイルを新しいバージョン名でコピーし、新しく作成したプロジェクト ファイルにファイルを追加してビルドするプログラムを作成したいと考えています。

可能かどうか、またその方法を教えてください。

編集:インストール中に作成されたディレクトリが機能と呼ばれることを知りました。そのため、質問は「プロジェクト ファイルに機能を追加し、その機能にファイルを追加する方法」と読むことができます。

EDIT2ここで反復する方法を見つけました:
http://blogs.flexerasoftware.com/installtalk/2010/12/getting-started-with-installshield-automation-and-c.html
たぶん、これは誰かが答えを準備するのに役立ちます.

4

1 に答える 1

3

簡単に言うと、MSI の世界では、ファイルはコンポーネントに属します。コンポーネントに関連付けられた機能がインストールされている場合は、ファイルがインストールされます。

したがって、あなたのタスクは、コンポーネントを作成し、それにファイルを追加して、それを機能に関連付けることです。

  1. ISWiProject オブジェクト (proj など) を作成します。
  2. proj.OpenProject を呼び出して、既存のプロジェクトを開きます。
  3. proj.AddComponent を呼び出し、ISWiComponent オブジェクト (comp など) を受け取ります。
  4. コンポーネントの宛先フォルダーを設定します (comp.Destination プロパティを使用)。
  5. comp.AddFile を呼び出して、ファイルのソースの場所を指定します。
  6. コンポーネントを既存のフィーチャーに関連付けます。たとえば、feature1 という名前のフィーチャーがある場合は、proj.ISWiFeatures.Item("feature1").AttachComponent(comp) を使用します。
  7. proj.ProductVersion を使用して、必要に応じてインストーラーのバージョンを変更します。

Automation インターフェイスを介してできることはたくさんあります。次のドキュメントを参照してください: http://helpnet.installshield.com/installshield16helplib/IHelpAutoISWiProject.htm

--ジャグ

于 2012-12-13T17:30:05.473 に答える