VS2010なセットアッププロジェクトでカスタムアクションするときの2048を足す話
関連記事
- 基本,謎開発を続けてはおるが,正式なGoが来ないドロドロドロ 【2024年01月25日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- ドロドロドロ...祭り(爆 【2023年12月21日(木)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【GitHub Copilot】Raspberry Pi&C#のテストコード書いてるけど,次々コードが湧いてくる!スゲースゲー 【2023年04月22日(土)】
いや,ぶっちゃければ,足さなくていいんじゃね?ってことで(爆
出来上がったMSIファイルをorcaにて眺めておったけど
0x800=msidbCustomActionTypeNoImpersonateなビット,立っているぞな
インストーラは,管理者権限で実行してるそうなんじゃけど
カスタムアクションで用いる,DLLあたりは,実行時のユーザーの権限に引き戻ちゃって(インパーソネーションとか言うそうな)
カスタムアクションがうまくいかない事例があるそうで
昔は,orca使って,MSIファイルを書き換える,って感じじゃったけど
(.NET Vista対応 その4 任意のフォルダでファイルを共有する@yan note さん参照のこと)
VS2010だと,このフラグを立ててくれている模様
でも,客先でインストールが一度コケたんだよなぁ...
う~む,原因が判らん(笑
とりあえず,カスタムアクション周りの実装を変えてみたんで
次の客先で,実験しよう(オイッ!
むぅ、インストールシールドでしか弄ってないからか、
2048を足すってのが意味不明なワタシ(爆
>>康ちゃん@まったり~ さま
マネージDLLを1個こさえれば,インストール中に
そのDLLに仕込んだメソッドを呼べるんですわ(インストール中,インストール完了,インストールロールバック,アンインストールの4つ)
このDLLの駆動権限が,インストーラとは別になってて,
UACが効いてる環境じゃと,インストールがコケることがあるんですよねぇ...
2048を加えたら,インストール中にDLL駆動権限昇格できて,無敵モードになっている...はずなんじゃがなぁ?(笑