Quantcast
Channel: わんくま同盟
Viewing all articles
Browse latest Browse all 994

[WiX][msi] In-Script(deferred) で動くカスタムアクションにプロパティを渡すときには。。。

$
0
0

すっかりと忘れ去っていたのでメモ。

CustomAction DLL を、In-Script(主に管理者権限で動かしたい場合などに使う)で動作させると、プロパティにアクセスできません。

そんなことはもうすっかりと忘れ去っていたので。。。

じゃぁどうするか?

というと、カスタムアクションのIDと同じIDを持つプロパティに値をセットしてやることで、パラメータを渡すことができます。

受け取るDLL側は、”CustomActionData” (IPROPNAME_CUSTOMACTIONDATA で msiDefs.h に定義)という専用のプロパティとして受け取ります。

1つしかないので、複数渡したい場合は、なにかしらのセパレータで区切る、コマンドラインのように /hoge=foo /huga=bar とするなど、工夫する必要があります。

CustomActionDataなんて扱ったの何年振りよ?というくらい前のことなので、思い出すまでにすげー時間がかかった。。。orz

ちなみに、WiX 3.x の場合はこんな感じ。

https://gist.github.com/Tocchann/e30105bb09d23cad6f386057deb0484e


Viewing all articles
Browse latest Browse all 994

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>