1

nsDialogs を使用して作成したインストーラーにカスタム ページを追加しましたが、そのページは InstType オプションの 1 つに表示されるだけで十分です。

InstType "Default" # 1
InstType "Developer" # 2

上記の例では、余分なページを開発者のみに表示したいと考えています。ベストプラクティスは何ですか?

  1. いくつかの属性を調べて、インストールの種類を特定し、nsDialogs::Show? への呼び出しを抑制します。どの属性を探すべきかわからない
  2. ページがヒットしないようにするページ ルーティングのロジックはありますか? これを行う方法がわからない
  3. 他の何か?
4

1 に答える 1

4

ページをスキップするには、そのページの create 関数コールバックで abort を呼び出します。

!include LogicLib.nsh

InstType "Normal"
InstType "Developer"

Page Components
Page Custom myDevPage
;Page start menu etc...
Page InstFiles

Section /o "" ${SEC_Dev}
;This (hidden) section is used just to check the insttype state, but you could also use it to install dev specific files etc
SectionIn 2
Sectionend

Function myDevPage
${IfNot} ${SectionIsSelected} ${SEC_Dev}
    Abort
${EndIf}
;nsDialog code goes here
FunctionEnd
于 2010-08-05T12:19:25.540 に答える