2012-03-30 23 views
0

.nsiファイルのMainSectionには、インストーラと共にバンドルされているファイル名が含まれています。NSISインストーラのMainSectionにファイルをオプションで含める方法

インストールタイプが通常の場合に同梱されてはならないファイルを作成する必要があります。そのファイルは、タイプが衣装と等しい場合にバンドルされます。 nsis.helpで上記を達成する方法

Section "MainSection" SEC01
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
* if (installtype==custom)
* File "IncludeThisFile"
SectionEnd

ははるかに高く評価されます!

答えて

0

あなたは、通常は別のセクションでオプションのものを入れていますが、あなたがやりたいことができます。その後、

!include LogicLib.nsh 
!include FileFunc.nsh 
var IsSpecialMode 

Function .onInit 
StrCpy $IsSpecialMode 0 
${GetParameters} $0 
ClearErrors 
${GetOptions} $0 "/includespecial" $1 
${IfNotThen} ${Errors} ${|} StrCpy $IsSpecialMode 1 ${|} 
FunctionEnd 

Page InstFiles 

Section 
SetOutPath "$instdir" 
${If} $IsSpecialMode <> 0 
    File "${__FILE__}" 
${EndIf} 
SectionEnd 

..andは再び答えAnders.iためMySetup.exe /includespecial

+0

おかげで同じことを行っている実行私の質問は、コマンドライン変数を取得/設定しようとしていませんでした。Ifメインセクションにif文を$ {If}値に関係なくtrueまたはfalseにすると、ファイルがバンドルされています(つまり、コンパイル時に)。私は、MainSectionにいくつかの行をオプション(ファイルを含む)にする方法を知りたいと思います。私が観察したように、MainSectionの条件がファイルの包含または除外のための条件 – user1234

+0

ファイル/非致命的を使用して、存在しない可能性のあるファイルを含めることができます。コンパイル時のロジックのために!を使用することができます... – Anders

+0

私は/ probは特殊モードであってもtrueであり、ファイルは存在しないので、エラーではなく警告を出します。したがって、any1がこの状況を処理するためのより良い解決策を知っているかどうかを知りたい – user1234

関連する問題