ã¯ããã«
å人çã«äžæŒãã®ã€ã³ã¹ããŒã© NSIS(Nullsoft Scriptable Install System)ã䜿ã£ãŠã€ã³ã¹ããŒã©ãäœãæ¹æ³ããµã³ãã«ãçšããŠã¬ã¯ãã£ãŒããŸãã
äœæ
NSISãäžæŒããªã®ãã«ã€ããŠã¯ããã§ã¯æ·±ãè¿°ã¹ãŸããããäŸãã°éçºè
ãæµåçã§ç¶ç¶çã«éçºãè¡ããããªãããžã§ã¯ãã§å°å
¥ã容æ(ã€ã³ã¹ããŒã«ã軜éã»ç¿åŸã³ã¹ããäœã)ãªããšãäžã€ã®ãã€ã³ãã§ãã
æ¬æå·çæã®NSISã®ããŒãžã§ã³ã¯3.03ãOSã¯Windows 10 1809ã§ãã
å°ãã¹ã¯ãªããã®è©³çްã«ã€ããŠã¯å
¬åŒãµã€ãã®ããã¥ã¡ã³ãé¡ã§è§£èª¬ãããŠããã®ã§ãããã§ã¯è©³ããã¯èª¬æããŸããã
å ¬åŒãµã€ã
NSIS Wiki
Stackoverflowãªããã§èª¿ã¹ãªããŠã倧æµã®ããšã¯å
¬åŒãµã€ãã§çè§£ã§ããŸãã
è±èªã§ããGoogle翻蚳ãªããã«URLã貌ãä»ãããChromeã䜿ãã°å®¹æã«æ¥æ¬èªèš³ãèªããŸãã
ããã¥ã¡ã³ããè±å¯ã§è²ã
ãªããšãã§ããã®ãããããŸãããã·ã³ãã«ãªã€ã³ã¹ããŒã©ãäœãã ãã§ããã°çè§£ããããšã¯ãããªã«å€ããããŸããã
ãã¥ãŒããªã¢ã«
Category:Tutorials
ç®çå¥ã®èª¬æããããŸãã
å ¬åŒã®ãµã³ãã«
Code Examples
幟ã€ããµã³ãã«ããããŸãã
#ã·ã³ãã«ãªã€ã³ã¹ããŒã©
å§ãã«åçŽãªãã¡ã€ã«ãã³ããŒããã ãã®ã€ã³ã¹ããŒã©ãäœããããããæ§ã
ãªæ©èœãä»å ããŠãããŸãã
NSI ã¹ã¯ãªããã®èšè¿°
NSISãã€ã³ã¹ããŒã«ããããé©åœãªå Žæã«ãInstall.nsiãšããããã¹ã ãã¡ã€ã«ãäœæããŸãã
ã€ã³ã¹ããŒã«ããããã¡ã€ã«ããC:\Sample\Sample.exeãšãããã¡ã€ã«ãšããŸãã
NSISã¯Unicodeã«å¯Ÿå¿ããŠããªã(察å¿çããããŸãããæªæ€èšŒ)ã®ã§ã
NSISã§Unicodeã䜿çšããã«ã¯å¥éæé ãå¿
èŠã§ããããã§ã¯å²æããŸããUnicodeæåã䜿çšãããã£ã¬ã¯ããªïŒãã¡ã€ã«åã¯äœ¿çšãããInstall.nsiã¯Shift-JISã§èšè¿°ããŠãã ããã
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$DESKTOP\NSISSample"
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
SectionEnd
ã³ã³ãã€ã«

NSISãèµ·åããŠã"Compile NSI scripts"ãéžæããŸãã

MakeNSISWãšãããŠã£ã³ããŠãéãã®ã§ãå·Šäžã®ããŒã«ããŒãããã¡ã€ã«ãéãã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã
(åã¯ãã¡ãã¥ãŒããŒãã"File">"Load Script...")
Install.nsiã®ãããã£ã¬ã¯ããªã«ç§»åããInstall.nsiãéžæãã"éã"ãã¯ãªãã¯ããŸãã
ãããã¯ãInstall.nsiããšã¯ã¹ãããŒã©ããå³ã¯ãªãã¯ããã³ã³ããã¹ãã¡ãã¥ãŒãã"Complie NSIS Script"ãéžæããŸãã
ããã«ã³ã³ãã€ã«ãéå§ãããInstall.nsiã®ãããã£ã¬ã¯ããªã«ã"Install.exe"ãäœæãããŸãã
ã€ã³ã¹ããŒã«ããŠã¿ã
äœæãããInstall.exeãå®è¡ããŠã¿ãŸãã
"Name Setup: Completed"ãšãããŠã£ã³ããŠã衚瀺ãããäœãåé¡ããªããã°ã"Completed"ãšè¡šç€ºãããŠããã¯ãã§ãã

"Close"ãã¯ãªãã¯ããŠãã€ã³ã¹ããŒã©ã®ãŠã£ã³ããŠãéããŸãã
ãã¹ã¯ãããã«"NSISSample"ãšãããã£ã¬ã¯ããªãäœæãããSample.exeãã³ããŒãããŠããŸãã
ã¢ããªã±ãŒã·ã§ã³åãå®çŸ©ãã
ãã®ãŸãŸã§ã¯äœã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã©ãªã®ãããããªãã®ã§ãã¢ããªã±ãŒã·ã§ã³åãå®çŸ©ããŸãã
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$DESKTOP\NSISSample"
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
SectionEnd

Install.exeãå®è¡ãããšããŠã£ã³ããŠã¯"ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³ Setup: Completed"ãšãªãããªãªãžããªãã£ãåºãŸããã
èšèªãæ¥æ¬èªã«ãã
å
šäœçãªUIãè±èªã§ãããå€ãã®çŸå Žã§ã¯åœéçãªãœãããŠã§ã¢ãããåœå
ã§å©çšãããã¢ããªã±ãŒã·ã§ã³ãå€ããšæããŸãã
UIãæ¥æ¬èªã«ããèŠªè¿æã®ããã€ã³ã¹ããŒã©ã«ããŠã¿ãŸãã
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$DESKTOP\NSISSample"
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
SectionEnd

Install.exeãå®è¡ãããšããŠã£ã³ããŠã¯"ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³ ã»ããã¢ããïŒå®äº"ãšãªããUIé¡ãæ¥æ¬èªã«ãªã£ãŠããŸãã
å€ãã®æ¥æ¬äººãŠãŒã¶ãŒã¯ããã§èŠªè¿æãã°ããšäžãããšæããŸãã
ã¢ã³ã€ã³ã¹ããŒã©ãçšæãã
ãã®ãŸãŸã§ã¯ã€ã³ã¹ããŒã©ããã§ããªãã®ã§ãã¢ã³ã€ã³ã¹ããŒã©ãçšæããŸãã
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$DESKTOP\NSISSample"
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
# ã¢ã³ã€ã³ã¹ããŒã©ãåºå
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
# ã¢ã³ã€ã³ã¹ããŒã©
Section "Uninstall"
# ã¢ã³ã€ã³ã¹ããŒã©ãåé€
Delete "$INSTDIR\Uninstall.exe"
# ãã¡ã€ã«ãåé€
Delete "$INSTDIR\Sample.exe"
# ãã£ã¬ã¯ããªãåé€
RMDir "$INSTDIR"
SectionEnd
ã€ã³ã¹ããŒã«ãå®äºãããšããã¹ã¯ãããã®"NSISSample"ãã£ã¬ã¯ããªå
ã«ãUninstall.exeãäœæãããŸãã
ãããå®è¡ãããšãNSISSample ãã£ã¬ã¯ããªãäžžããšåé€ãããŸãã
ã³ã³ãããŒã« ããã«ã®"ããã°ã©ã ãšæ©èœ"ã«ç»é²ãã
ã€ã³ããŒã«å ããã¢ã³ã€ã³ã¹ããŒã©ãèµ·åããã®ã¯äžäŸ¿ãªã®ã§ãã³ã³ãããŒã« ããã«ã®"ããã°ã©ã ãšæ©èœ"ã§ç®¡çã§ããããã«ããŸãã
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$DESKTOP\NSISSample"
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
# ã¢ã³ã€ã³ã¹ããŒã©ãåºå
WriteUninstaller "$INSTDIR\Uninstall.exe"
# ã¬ãžã¹ããªã«ç»é²
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "DisplayName" "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "UninstallString" '"$INSTDIR\Uninstall.exe"'
SectionEnd
# ã¢ã³ã€ã³ã¹ããŒã©
Section "Uninstall"
# ã¢ã³ã€ã³ã¹ããŒã©ãåé€
Delete "$INSTDIR\Uninstall.exe"
# ãã¡ã€ã«ãåé€
Delete "$INSTDIR\Sample.exe"
# ãã£ã¬ã¯ããªãåé€
RMDir "$INSTDIR"
# ã¬ãžã¹ã㪠ããŒãåé€
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample"
SectionEnd

ã€ã³ã¹ããŒã«ãããšãã³ã³ãããŒã« ããã«ã®"ããã°ã©ã ãšæ©èœ"ã®"ããã°ã©ã ã®ã¢ã³ã€ã³ã¹ããŒã«ãŸãã¯å€æŽ"ã®äžèЧã«"ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"ã衚瀺ãããŸãã
ãããéžæããŠ"ã¢ã³ã€ã³ã¹ããŒã«ãšå€æŽ"ãã¯ãªãã¯ãããšãã¢ã³ã€ã³ã¹ããŒã©ãèµ·åããã¢ã³ã€ã³ã¹ããŒã«ã§ããŸãã
ã€ã³ã¹ããŒã«å ããŠãŒã¶ãŒãéžæã§ããããã«ãã
倧æµã®ã€ã³ã¹ããŒã©ã¯ã€ã³ã¹ããŒã«å
ã¯æ¢å®ã®å Žæããããããèšå®ãããŠããŸããããŠãŒã¶ãŒãä»»æã®å Žæãéžæããããšãã§ããããã«ãªã£ãŠããã®ã§ããŠãŒã¶ãŒãéžæã§ããããã«ããŸãã
åãæ¢å®ã®ã€ã³ã¹ããŒã«å
ãäžè¬çãªC:\Program Files(64-bit Windowsã®å Žåã¯C:\Program Files (x86))ã«ããŸãã
(Windows VistaããProgram Files以äžãã£ã¬ã¯ããªã¯ãŠãŒã¶ãŒæš©éã§ã¯æžã蟌ã¿ã§ããªãã®ã§ãèªèº«ã®ãã£ã¬ã¯ããªã«ãã¡ã€ã«ãæžã蟌ããããªã¢ããªã±ãŒã·ã§ã³ã¯ä»ã®å Žæã«ããæ¹ãè¯ãã§ããã)
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$PROGRAMFILES\NSISSample"
# ããŒãž
Page directory
Page instfiles
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
# ã¢ã³ã€ã³ã¹ããŒã©ãåºå
WriteUninstaller "$INSTDIR\Uninstall.exe"
# ã¬ãžã¹ããªã«ç»é²
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "DisplayName" "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "UninstallString" '"$INSTDIR\Uninstall.exe"'
SectionEnd
# ã¢ã³ã€ã³ã¹ããŒã©
Section "Uninstall"
# ã¢ã³ã€ã³ã¹ããŒã©ãåé€
Delete "$INSTDIR\Uninstall.exe"
# ãã¡ã€ã«ãåé€
Delete "$INSTDIR\Sample.exe"
# ãã£ã¬ã¯ããªãåé€
RMDir "$INSTDIR"
# ã¬ãžã¹ã㪠ããŒãåé€
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample"
SectionEnd

Install.exeãå®è¡ãããšããŸãã€ã³ã¹ããŒã«å
ãéžæãããŠã£ã³ããŠã衚瀺ãããŸãã
ããã§ã€ã³ã¹ããŒã«å
ã倿Žãããšããã®ãã£ã¬ã¯ããªã«ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããããšãã§ããŸãã
çŸç¶ã§ã¯ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³ã¯äœåºŠãã€ã³ã¹ããŒã«ããããšãã§ããŸãããã¬ãžã¹ããªã¯äžæžããããã®ã§ãã³ã³ãããŒã« ããã«ããã¢ã³ã€ã³ã¹ããŒã«ã§ããã®ã¯æåŸã«ã€ã³ã¹ããŒã«ãããã£ã¬ã¯ããªã®ãã®ã ãã«ãªãã®ã§æ³šæããŠãã ããã
ã¹ã¿ãŒã ã¡ãã¥ãŒã«ç»é²
éåžžãã¢ããªã±ãŒã·ã§ã³ã¯ãšã¯ã¹ãããŒã©ããããã«ã¯ãªãã¯ããŠå®è¡ããã®ã§ã¯ãªããã¹ã¿ãŒã ã¡ãã¥ãŒçããéžæããŠèµ·åããã®ãäžè¬çãªã®ã§ãã€ã³ã¹ããŒã«æã«ã¹ã¿ãŒã ã¡ãã¥ãŒã«ç»é²ã§ããããã«ããŸãã
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$PROGRAMFILES\NSISSample"
# ããŒãž
Page directory
Page instfiles
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
# ã¢ã³ã€ã³ã¹ããŒã©ãåºå
WriteUninstaller "$INSTDIR\Uninstall.exe"
# ã¹ã¿ãŒã ã¡ãã¥ãŒã«ã·ã§ãŒãã«ãããç»é²
CreateDirectory "$SMPROGRAMS\NSISSample"
SetOutPath "$INSTDIR"
CreateShortcut "$SMPROGRAMS\NSISSample\ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³.lnk" "$INSTDIR\Sample.exe" ""
# ã¬ãžã¹ããªã«ç»é²
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "DisplayName" "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "UninstallString" '"$INSTDIR\Uninstall.exe"'
SectionEnd
# ã¢ã³ã€ã³ã¹ããŒã©
Section "Uninstall"
# ã¢ã³ã€ã³ã¹ããŒã©ãåé€
Delete "$INSTDIR\Uninstall.exe"
# ãã¡ã€ã«ãåé€
Delete "$INSTDIR\Sample.exe"
# ãã£ã¬ã¯ããªãåé€
RMDir "$INSTDIR"
# ã¹ã¿ãŒã ã¡ãã¥ãŒããåé€
Delete "$SMPROGRAMS\NSISSample\ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³.lnk"
RMDir "$SMPROGRAMS\NSISSample"
# ã¬ãžã¹ã㪠ããŒãåé€
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample"
SectionEnd
ã€ã³ã¹ããŒã«ãããšãã¹ã¿ãŒã ã¡ãã¥ãŒã«"NSISSample"ãšããããªãŒãäœæããããã®äžãã"ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"ãéžæãããšãSample.exeãå®è¡ã§ããŸãã
CreateShortcutã®åã«SetOutPathãå®è¡ããŠããŸãããSetOutPath "$INSTDIR"ãå®è¡ããããšã§ãã·ã§ãŒãã«ããã®äœæ¥ãã£ã¬ã¯ããªãSample.exeã®ãããã£ã¬ã¯ããªã«ãªããŸãã
ãããããªããšã·ã§ãŒãã«ããã®äœæ¥ãã£ã¬ã¯ããªãä»ã®å Žæã«ãªã£ãŠããŸãã®ã§ã泚æããŠãã ããã
ãµããã£ã¬ã¯ããªãããå Žå
ã€ã³ã¹ããŒã«ãããã¢ããªã±ãŒã·ã§ã³ã¯éå±€æ§é ã«ãªã£ãŠããå Žåãäžè¬çã§ãããµããã£ã¬ã¯ããªã®ãã¡ã€ã«ãå«ããŠã€ã³ã¹ããŒã«ã§ããããã«ããŸãã
"C:\Sample\docs\readme.txt"ãšãããã¡ã€ã«ãããç¶æ
ãšããŸãã
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$PROGRAMFILES\NSISSample"
# ããŒãž
Page directory
Page instfiles
# ããã©ã«ã ã»ã¯ã·ã§ã³
Section
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR\docs"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\docs\readme.txt"
# ã¢ã³ã€ã³ã¹ããŒã©ãåºå
WriteUninstaller "$INSTDIR\Uninstall.exe"
# ã¹ã¿ãŒã ã¡ãã¥ãŒã«ã·ã§ãŒãã«ãããç»é²
CreateDirectory "$SMPROGRAMS\NSISSample"
SetOutPath "$INSTDIR"
CreateShortcut "$SMPROGRAMS\NSISSample\ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³.lnk" "$INSTDIR\Sample.exe" ""
# ã¬ãžã¹ããªã«ç»é²
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "DisplayName" "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "UninstallString" '"$INSTDIR\Uninstall.exe"'
SectionEnd
# ã¢ã³ã€ã³ã¹ããŒã©
Section "Uninstall"
# ã¢ã³ã€ã³ã¹ããŒã©ãåé€
Delete "$INSTDIR\Uninstall.exe"
# ãã¡ã€ã«ãåé€
Delete "$INSTDIR\Sample.exe"
# ãã£ã¬ã¯ããªãåé€
RMDir /r "$INSTDIR"
# ã¹ã¿ãŒã ã¡ãã¥ãŒããåé€
Delete "$SMPROGRAMS\NSISSample\ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³.lnk"
RMDir "$SMPROGRAMS\NSISSample"
# ã¬ãžã¹ã㪠ããŒãåé€
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample"
SectionEnd
SetOutPathã§ã€ã³ã¹ããŒã«å
ãæå®ããåŸããã®ãã£ã¬ã¯ããªã«ã€ã³ã¹ããŒã«ããããã¡ã€ã«ãFileã§æå®ããŠãããšããæé ã«ãªããŸãã
Fileã¯ã¯ã€ã«ãã«ãŒãã䜿çšã§ããŸãã
ã¢ã³ã€ã³ã¹ããŒã©ã§RMDir /rãšããŠããŸããããã£ã¬ã¯ããªãååž°çã«åé€ããŠãããå Žåã¯ããã®ããã«ããŸãã
ã¢ã³ã€ã³ã¹ããŒã«ããŠããŠãŒã¶ãŒèšå®ãã¡ã€ã«çãæ®ããŠããããå Žåã¯ãåé€ãããã£ã¬ã¯ããªãåå¥ã«æå®ããªããã°ãªããŸããã
ã¹ã¯ãªããã«ãšã©ãŒããã£ãå Žå
ã¹ã¯ãªããã«ãšã©ãŒããã£ãå Žåãã€ã³ã¹ããŒã©äœæè
ãæ°ã¥ããããšãšãã©ããä¿®æ£ããå¿
èŠããããããããããšãéèŠã§ãã
NSISã¯ãšã©ãŒå ±åæ©èœãè¯ãåºæ¥ãŠãããšæããŸãã
# æ¥æ¬èªUI
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
# ã¢ããªã±ãŒã·ã§ã³å
Name "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
# äœæãããã€ã³ã¹ããŒã©
OutFile "Install.exe"
# ã€ã³ã¹ããŒã«ããããã£ã¬ã¯ããª
InstallDir "$PROGRAMFILES\NSISSample"
# ããŒãž
Page directory
Page instfiles
# ããã©ã«ã ã»ã¯ã·ã§ã³
Sectio
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\Sample.exe"
# åºåå
ãæå®ããŸãã
SetOutPath "$INSTDIR\docs"
# ã€ã³ã¹ããŒã«ããããã¡ã€ã«
File "C:\Sample\docs\readme.txt"
# ã¢ã³ã€ã³ã¹ããŒã©ãåºå
WriteUninstaller "$INSTDIR\Uninstall.exe"
# ã¹ã¿ãŒã ã¡ãã¥ãŒã«ã·ã§ãŒãã«ãããç»é²
CreateDirectory "$SMPROGRAMS\NSISSample"
SetOutPath "$INSTDIR"
CreateShortcut "$SMPROGRAMS\NSISSample\ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³.lnk" "$INSTDIR\Sample.exe" ""
# ã¬ãžã¹ããªã«ç»é²
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "DisplayName" "ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample" "UninstallString" '"$INSTDIR\Uninstall.exe"'
SectionEnd
# ã¢ã³ã€ã³ã¹ããŒã©
Section "Uninstall"
# ã¢ã³ã€ã³ã¹ããŒã©ãåé€
Delete "$INSTDIR\Uninstall.exe"
# ãã¡ã€ã«ãåé€
Delete "$INSTDIR\Sample.exe"
# ãã£ã¬ã¯ããªãåé€
RMDir /r "$INSTDIR"
# ã¹ã¿ãŒã ã¡ãã¥ãŒããåé€
Delete "$SMPROGRAMS\NSISSample\ãµã³ãã« ã¢ããªã±ãŒã·ã§ã³.lnk"
RMDir "$SMPROGRAMS\NSISSample"
# ã¬ãžã¹ã㪠ããŒãåé€
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSISSample"
SectionEnd
ã³ã³ãã€ã©ãå®è¡ãããšã以äžã®ããã«åºåãããŸã
Invalid command: "Sectio"
Error in script "C:\NSISSample\Install.nsi" on line 14 -- aborting creation process
äžæ£ãªã³ãã³ã"Sectio"(æ£ããã¯"Section")ãèšè¿°ãããããã14è¡ç®ã«ããããšãããããŸãã
ã€ã³ã¹ããŒã«æã«ãšã©ãŒãçºçããå Žå
ã€ã³ã¹ããŒã«ã¯ãå¿
ãæåãããšã¯éããŸããã
äŸãã°ã€ã³ã¹ããŒã«å
ã®å®è¡ãã¡ã€ã«ãå®è¡äžã§ããã°ããã¡ã€ã«ãã³ããŒããããšãã§ããªãã®ã§ã倱æããŸãã
ãã®æã«ãŠãŒã¶ãŒãã€ã³ã¹ããŒã«ã«å€±æããããšã«æ°ä»ããªããã°ãªããŸããã
NSISã§ã¯ãã®ãããªå Žåã«ãã€ã¢ãã°ã衚瀺ãããäžæ¢ã»å詊è¡ã»ç¡èŠãéžæããããšãã§ããŸãã
äžæ¢ããå Žåã«ã¯ããã°ã¬ã¹ ããŒãæåŸãŸã§å°éããã"éãã"ãã¿ã³ãã°ã¬ãŒã¢ãŠããã"ãã£ã³ã»ã«"ããã¯ãªãã¯ã§ãããã€ã³ã¹ããŒã«ã倱æããããšããŠãŒã¶ãŒã«äŒãããŸãã
"ç¡èŠ"ãéžæããã°ã€ã³ã¹ããŒã«ãå®äºããããšã¯ã§ããŸãããç¡èŠããããã¡ã€ã«ã¯ã³ããŒãããŸããã
"詳现ã衚瀺"ãã¯ãªãã¯ããã°ãã°ã衚瀺ããããã¡ã€ã«ãã³ããŒãããŠããªãããšãããããŸã(ç¡èŠããããšã¯èšé²ãããªãã®ã§æ³šæ)ã
åããããå³ã¯ãªãã¯ããŠ"詳现ãã¯ãªããããŒããžã³ããŒ"ãéžæããã°ãããã¹ããšããŠã¯ãªããããŒãã«ã³ããŒããããšãã§ããŸãã
ã€ã³ã¹ããŒã©ãã¢ããªã±ãŒã·ã§ã³ãªã®ã§ãå¿
ããã¹ããå¿
èŠã§ãã
ä¿å®äœæ¥æã«æãã¬ãã©ãã«ã«ééããªããããäœã£ããçµããã§ã¯ãªããã€ã³ã¹ããŒã©ã®ãã¹ããè¡ã£ãŠãããªãªãŒã¹ããããã«ããŸãããã
æåŸã«
Notepad++ã¯NSIS ã¹ã¯ãªããã«å¯Ÿå¿ããŠããŠãã¹ã¯ãªãããèŠãããã§ãã
(CreateShortcutãCreateShortCutãšæžããªããšèªèããªãâŠå
¬åŒã¯åè
ãªã®ã«)
次ã¯ãModern UIã䜿çšãããã¬ãã·ãã«ãªã€ã³ã¹ããŒã©ã«ã€ããŠã¬ã¯ãã£ãŒããããšæããŸãã