2010-12-11 12 views
7

私たちには、インストーラの開発者用とCIサーバー用の2つのインストールシールドライセンスがあります。InstallShield ismファイルを修正する無料のツールはありますか?

他の開発者がプロ​​ジェクトDLLを別の場所に移動すると、インストーラが壊れることがよくあります。

無料のツールがあれば、ISMファイルを少し修正することができますか?私は、DLLのパスを修正するか、DLLを完全に削除するなどの小さな変更についてのみ言及しています。ライセンスを「不正行為する」ことは私の意図ではありません。

ありがとうございました。

+0

プロジェクトタイプ、MSI、InstallScript、またはInstallScript MSIとは何ですか? – epotter

+0

プロジェクトタイプはMSIです。 – mark

答えて

4

InstallShieldプロジェクト(.ISM)は、XML形式(DTD)またはWindows Installerバイナリ形式(実際にはMSIのみが後方にあり、スキーマはプリコンパイル形式)に格納されているため、これらを更新するオートメーションを作成することは不可能ではありませんInstallShieldに依存しなくても

あなたが使用しているInstallShieldのバージョンまたはエディションは明言していませんが、スタンドアロンビルドライセンスの権利がある場合は、それをCIサーバーに置き、別の開発者のライセンスを1つ無料にできます。また、IDEとSABには、この問題を解決するためにあらゆる種類の面白い自動化を行うために使用できるCOMオートメーションインターフェイスが付属しています。

でも、私がしていることをやることをお勧めします。 WindowsインストーラXMLを使用して、インストーラコンポーネントをマージモジュールに抽象化し、マージモジュールをInstallShieldフィーチャに関連付けます。これはモノリシックなインストーラプロジェクトを必要とし、順番にそれを分解して分散開発をサポートします。私はさらに、IsWiXというカスタムツールを書いて、WiXモジュールを維持するためのInstallShieldのような経験を提供します。

+0

これはインストーラで作業する開発者ではないので、私にとっては複雑すぎます。私が知っていることの1つは、ISMファイルが有効なHTMLのように見えるテキストファイルだということです。しかし、そのフォーマットは私には意味をなさない。 – mark

+0

基礎となるMSIテーブルが理解できず、それらがXMLでどのように表現されているのかわからないのですが、実際にはこれらを手作業で調整することは考えていません。 –

+0

確かに、確かに。それで、私は最初にツールを求めているのです。 – mark

4

Orcaツールを使用して.msiファイルの内容を見ることができます。これは、.msiデータベースの内容を変更します(これは、実際には少し変更する必要があります)。

これを変更するには、基礎となるMSIテーブルを知っている必要があります。

+1

InstallShieldプロジェクト(.ISM)がXML形式で保存されているため、これは機能しません。プロジェクトをバイナリ形式(ORCAが読み取ることができる)に格納すると、ソース管理でより多くの領域が消費され、相違点と分岐/マージの比較ができなくなるため、これが好まれます。 –

6

プロジェクトのプロパティに移動する場合は、ismファイルをXML形式で保存することを選択できます。 (あなたのプロジェクトはすでにこのように設定されているように思えます)。この場合、XMLファイルの構造は分かりやすいほど簡単です。

テキストエディタまたはXMLエディタを使用すると、DLLへのパスを更新できます。

大きな変更を加えることはお勧めしませんが、小さな変更の場合は問題ではありません。

DLLの名前を検索するだけです。それはXMLタグになります。変更が必要なソースパスは、そのタグの属性である必要があります。

これは、InstallScriptとInstallScriptの両方のMSIプロジェクトで行いました。純粋なMSIプロジェクトを使用している場合、作物は異なる場合があります。

+1

InstallshieldのXML形式は、数年前に私に問題を引き起こしました。より良い選択肢は、Microsoftの無料MSIツールOrcaを使用することです。 –

関連する問題