私は、InstallShieldインストーラのsetup.exeファイルを使用して、私のアプリケーションをサイレントインストールします。今私はいくつかのコマンドライン引数でsetup.exeを起動したいと思います。その引数は、私が成功して実行するために作成したEXEカスタムアクションで利用できるはずです。セットアップファイルを呼び出す際に、コマンドラインからデータを全部渡すことができ、それを私のexeの中で使うことができます。 exeはC#で書かれたコンソールアプリです。installshieldインストーラからカスタムアクションにコマンドライン引数を渡すexe
1
A
答えて
-1
私はこれがMSIベースのプロジェクトであることを理解していますが、.exeカスタムアクションは遅延実行とみなされます。
何をすべきことはこれです:あなたのインストーラで
- 、あなたは.exeファイル(例えば
ServerName
、ServerPort
)のために必要ないくつかのカスタムMSIのプロパティを定義 - はタイプ「設定のカスタムアクションを作成します。プロパティ '。 プロパティ名は、exeファイル(たとえば
RunMyExe
)を実行するカスタムアクションの名前にする必要があります。 プロパティ値は、カスタムプロパティの連結リストにする必要があります。[ServerName];[ServerPort]
。 InstallInitializeの後にこのカスタムアクションを実行します。あなたの.exeのカスタムアクション(RunMyExe)で - 、
- があなたのexeファイルのプログラムは、コマンドラインを取得する持っているあなたのexeファイルのプログラムにコマンドラインとして
[CustomActionData]
を渡し、それが - 起動を必要とするデータを得るためにそれを分割ステップ1で定義したカスタムプロパティを設定しているときにsetup.exeを実行します。
setup.exe /v"ServerName=test-srv ServerPort=67000"
何が起こるかは、あなたが(そのようなコマンドラインから供給されたものなど)exernalプロパティを使用することはできません繰延カスタムアクションで、あなたがそのようなCustomActionDataなどの内部のものにのみアクセスできる、ということです。ここでのトリックは、アクションの名前を持つプロパティ(上記の例ではRunMyExe)が存在する場合、内部のCustomActionDataプロパティがその値を取得することです。
関連する問題
- 1. MSIからMSMのカスタムアクションに引数を渡す - InstallShield
- 2. installshieldのコマンドラインから.exeを作成する
- 3. Scala.js - SBTからコマンドライン引数を渡す
- 4. .exeプログラムのC++コマンドライン引数
- 5. メジャーアップデートのInstallShieldカスタムアクション
- 6. Wixのカスタムアクションexeに引数を追加するには?
- 7. 渡すコマンドライン引数
- 8. コマンドライン引数を渡す
- 9. Git BashからWindowsアプリケーションにコマンドライン引数を渡すには?
- 10. WiXバンドルからMSIにコマンドライン引数を渡す
- 11. スクリプトからコマンドライン引数をPythonファイルに渡す方法
- 12. CMD Line - Cコードからコマンドラインに引数を渡す
- 13. SMLスクリプトにコマンドライン引数を渡す
- 14. ピップインストールにコマンドライン引数を渡す
- 15. コマンドライン引数をbashスクリプトコマンドに渡す
- 16. フラッターアプリにコマンドライン引数を渡す
- 17. コマンドラインの引数をantに渡す
- 18. RSpecにコマンドライン引数を渡す
- 19. Matlabスクリプトに引数を渡す(コマンドライン?)
- 20. Jamfileでコマンドライン引数を渡すには?
- 21. kubernetesでコマンドライン引数を渡すには?
- 22. Eclipseのコマンドライン引数にシステムコマンドを渡す
- 23. XMLカスタムアクションのWindowsインストーラ
- 24. コマンドライン引数を使用するpythonからexeファイルを作成する
- 25. pom.xmlのプロパティとしてMavenからのコマンドライン引数を渡す
- 26. ハイフンを含むコマンドライン引数を渡す
- 27. InstallShieldがアンインストールのカスタムアクションを実行する
- 28. Netbeans 8.0からEXEインストーラを作成
- 29. Perlがコマンドライン引数を渡す
- 30. Xcodeでコマンドライン引数を渡す方法
遅延されたexeカスタムアクションでも、コマンドラインのどのプロパティも参照できることに注意してください。 –
私が覚えている限り、パブリックプロパティのみがコマンドラインでMSIに渡すことができます。だから、あなたの提案はうまくいかないでしょう。 – Vadim
"CustomActionData"は、コマンドラインで渡すことができるプロパティではありません。これは遅延カスタムアクションのコンテキスト内に存在し、カスタムアクション自体の名前にマップされます。 –