ã¯ããã«
ç§ã¯ããã®ããã°ã©ããŒã§ã¯ãããŸããã ç§ã¯ãã®å·¥èžåã§ãéã皌ãã®ã§ã¯ãªããèªåã®ã¹ãã«ãã¡ã€ã³ã®ç§åŠç掻åã®ããŒã«ãšããŠäœ¿ããšããæå³ã§ã ãããã£ãŠãç§ã®ãå·¥èžãã¯ãã¹ãŠãç¹å®ã®åé¡ã解決ããããã«å²ãåœãŠãããæéã ãçãããããžã§ã¯ããã£ã¬ã¯ããªãè¶ ããªãããã«ããŸãã ããã«ãLinuxã¯åé¡ã解決ããã®ã«ãã䟿å©ã§ãããããããªãåã«Windows OSã§ã®éçºããé¢ããŸããã
ããããç§åŠè ã¯ãŸããè»ãé£ã¹ããã¡ããšæãçãŠããã£ã±ãã«ãããã§ãã ãã®ããïŒçå®ã¯éåžžã«ãŸãã§ãïŒãå°ãããªãŒã©ã³ã¹ãå¿ èŠã§ãã
æè¿ã圌ãã¯ç§ã«ããã»ã©è€éã§ã¯ãªããããžã§ã¯ããäžããŸãã-ããäŒç€Ÿã¯å¥ã®äŒç€Ÿãæã£ãŠããããã°ã©ã ã®é¡äŒŒç©ãæžãããã§ãã å°ãéã«ãå°ãã³ãŒãã£ã³ã°ãããšãäžè¬ã«ããããžã§ã¯ãã¯éåžžã«æ®éã§ãã ããããã€ã³ã¹ããŒã©ãŒã®äœæã«ã€ããŠã®è³ªåãããã«çºçããŸãããçµå±ã®ãšãããã¯ã©ã€ã¢ã³ãã¯ãã»ããã¢ããããã¯ãªãã¯ããã次ãžããã¯ãªãã¯ããŠããã°ã©ã ãåäœå¯èœã«ããããã«ã補åãã¿ãŒã³ããŒããæãã§ããŸãã
ã€ã³ã¹ããŒã©ãŒã®äœæã«é¢äžããããšã¯ãããŸããã ãããã£ãŠããã®åé¡ã¯åŸ¹åºçã«ãã°ãŒã°ã«åããããŸããããšããããHabrããããã®ãããªèšäºã«åºäŒããŸããã ãã®ã¿ã¹ã¯ã®ããã®ããŒã«ã®éžæã¯éåžžã«å¹ åºãããããã©ã€ãšã¿ãªè£œåãšãªãŒãã³ãœãŒã¹è£œåã®äž¡æ¹ãå«ãŸããŸãã ããã«ç§ããæããããã®ã®ãªã¹ãããããŸã
- InstallShield-ãžã£ã³ã«ã®å€å žãããªãå å®ãªå°æ補å
- Adnvanced Installerã¯ãGUIã«ããåºç¯ãªã«ã¹ã¿ãã€ãºæ©èœãåããç¬èªã®ããŒã«ã§ãã ãã®ãµã€ãã¯ãããªããããã¬ãŒã§ããããã®è£œåã«ã€ããŠå€ãã®è¯ãèšèãæžããªããç¡æã®ã©ã€ã»ã³ã¹ãååŸããæ©äŒããããšèšã£ãŠããŸã
- WiXã¯ããªãŒãã³ã§ç¡æã®XMLã¹ã¯ãªããããŒã¹ã®è£œåã§ãã 匷åã§ãååã«ææžåããããã®ã æéã¯é«äŸ¡ã§ãïŒãããŠãéã¯XMLã«ã¯ããŸããããŸããïŒã®ã§ãç§ã¯ãŸã ããã«å¯ŸåŠãå§ããŠããŸããã ãããããã€ãç§ã¯åœŒã«æ»ãã§ãããã ã¯ããVisual Studioçšã®ãã©ã°ã€ã³ããããŸããããã¯ééããªããã©ã¹ã§ãã
- Inno Setupã¯ãgithubã§ã³ãŒããå©çšã§ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã ç¡åã®æ§è³ªãšäœããšã³ããªãŒãããå€ã®ããã«ãç§ã®éžæã¯ãä»äºãè¿ éãã€å¹ççã«å®è¡ã§ããããŒã«ãšããŠãããã«åºã¥ããŠããŸããã
ããã§ããã®èšäºã§ã¯ããŠã£ã¶ãŒãã䜿çšããŠã·ã³ãã«ãªã€ã³ã¹ããŒã©ãŒãäœæããGUIãä»ããŠèšå®ãå€æŽã§ãã䟿å©ãªInno Script Studioããã³ããšã³ããããInno Setupã®äœ¿çšäŸãæ€èšããŸãã ãã®è£œåã®æåã®ç¥ãåãã«ã¯GUIãå¿ èŠã§ããããããŸã泚æãæããŸãããæè¿ãç§ã®ãè³ã®Linuxãã¯ãããããçš®é¡ã®ããã¹ã¿ãŒãã䜿çšããããšãã欲æ±ãããŸããŸãé¢ããŠããŸãïŒããã¯äž»èŠ³çã§ããããã¯ããªãã§ãã ããïŒ ã ãŒãããã¹ã¯ãªãããèšè¿°ããããŒãã³ã¢ãªæ¹æ³ãèŠãŠãããŸãã
1.ã€ã³ã¹ããŒã«ãæ§æãããã³åçŽãªïŒãããéåžžã«å å®ãªïŒã¹ã¯ãªãã
å ¬åŒãµã€ãããããã°ã©ã ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããã®ã¯é£ãããªããšæããŸãã Inno Setup Compilerãèµ·åãããšããã®ãããªãŠã£ã³ããŠã衚瀺ãããŸã
Inno Setupã¯æãããæ²ããããšã«ç§ãã¡ã«äŒããŸã...
ããã¯äœã§ãã å®éãããã¯åçŽãªã¹ã¯ãªãããšãã£ã¿ãŒã§ãããæ§æã®åŒ·èª¿è¡šç€ºãã³ã³ãã€ã«ãèµ·åãã¿ã³ãè£ åãããŠããŸãã 圌ãã¯ããã®ãŠã£ã³ããŠã§ãå°æ¥ã®ã€ã³ã¹ããŒã©ãŒã®ããžãã¯ãå®çŸ©ããã¹ã¯ãªããããã¹ãã®å ¥åãéå§ããããšãæåŸ ããŠããŸãã ããŠãæéãç¡é§ã«ããŸããã
ãŸããå¿ èŠãªå®æ°ãå®çŸ©ããŸã
;------------------------------------------------------------------------------ ; ; Inno Setup 5.5.5 ; (c) maisvendoo, 15.04.2015 ; ;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------ ; ;------------------------------------------------------------------------------ ; #define Name "Miramishi Painter" ; #define Version "0.0.1" ; - #define Publisher "Miramishi" ; #define URL "http://www.miramishi.com" ; #define ExeName "Miramishi.exe"
ãããã®è¡ã¯ã¹ã¯ãªããã³ãŒãã§é »ç¹ã«çºçãããããCã®ããã«#defineãã£ã¬ã¯ãã£ãã䜿çšããŠå®çŸ©ããŸãã
ã¹ã¯ãªããã®æ¬æã¯ã»ã¯ã·ã§ã³ã«åå²ãããåã»ã¯ã·ã§ã³ã«ã¯ç¬èªã®æ©èœçãªç®çããããŸãã å¿ é ã®[ã»ããã¢ãã]ã»ã¯ã·ã§ã³ã§ã¯ãã€ã³ã¹ããŒã©ãŒãšã¢ã³ã€ã³ã¹ããŒã©ãŒã®ã°ããŒãã«ãã©ã¡ãŒã¿ãŒãèšå®ããŸãã
;------------------------------------------------------------------------------ ; ;------------------------------------------------------------------------------ [Setup] ; , ; Tools -> Generate GUID AppId={{F3E2EDB6-78E8-4539-9C8B-A78F059D8647} ; , AppName={#Name} AppVersion={#Version} AppPublisher={#Publisher} AppPublisherURL={#URL} AppSupportURL={#URL} AppUpdatesURL={#URL} ; - DefaultDirName={pf}\{#Name} ; "" DefaultGroupName={#Name} ; , setup OutputDir=E:\work\test-setup OutputBaseFileName=test-setup ; SetupIconFile=E:\work\Mirami\Mirami\icon.ico ; Compression=lzma SolidCompression=yes
AddIdãªãã·ã§ã³-Windowsã¬ãžã¹ããªã«ã¢ããªã±ãŒã·ã§ã³ãç»é²ããããã«äœ¿çšãããäžæã®ã¢ããªã±ãŒã·ã§ã³èå¥åïŒGUIDïŒã«çŽ°å¿ã®æ³šæãæã£ãŠããŸãã ãã©ã³ã¿ã³ãããã§ã¯ãªããäžæ¬åŒ§ãéããã¡ãã¥ãŒãã[ããŒã«]-> [GUIDã®çæ]ãéžæããŠïŒãŸãã¯Shift + Ctrl + GãããããŒã䜿çšããŠïŒçæããŸãã 次ã«ãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ããã¢ããªã±ãŒã·ã§ã³ã®ååããã®ããŒãžã§ã³ãéçºäŒç€Ÿã®ããŒã¿ãéçºè ã®ãµã€ãã®ã¢ãã¬ã¹ããã¯ãã«ã«ãµããŒãããã³ã¢ããããŒããæå®ããŸãã
ã€ã³ã¹ããŒã©ãŒãã€ã³ã¹ããŒã«çšã«æäŸããããã©ã«ãã®ãã¹ã¯ã DefaultDirNameãªãã·ã§ã³ã«ãã£ãŠæ±ºãŸããŸãã ãã®å Žåãå€æ°{pf}ã¯ã察å¿ããããã深床ã®Program Filesãã£ã¬ã¯ããªãžã®ãã¹ã§ãã DefaultGroupNameãªãã·ã§ã³ã¯ã[ã¹ã¿ãŒã]ã¡ãã¥ãŒã®ããã°ã©ã ã°ã«ãŒãã®ååã決å®ããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ååã瀺ãããã«ãäžã§ç€ºããååãã¯ãã䜿çšããäžæ¬åŒ§ãšã°ãªããã§ãã¬ãŒãã³ã°ããŠããããšã«æ³šæããŠãã ããã
ããã€ãã®ãªãã·ã§ã³OutputDirãšOutputBaseFileNameã¯ãã³ã³ãã€ã«ããããã»ããã¢ããããšãã®ååïŒæ¡åŒµåãªãïŒãæžã蟌ãŸãããã£ã¬ã¯ããªãæå®ããŸãã ããã«ã SetupIconFileãªãã·ã§ã³ã䜿çšããŠtest-setup.exeã®ã¢ã€ã³ã³ãååŸããå Žæã瀺ããŸãã
ãã®ã»ã¯ã·ã§ã³ã®æåŸã®ãªãã·ã§ã³ã¯ãå§çž®ã¢ã«ãŽãªãºã ïŒLZMAïŒãå®çŸ©ãããã¹ãŠã®ãã¡ã€ã«ãåå¥ã«å§çž®ãããã®ã§ã¯ãªããåæã«å§çž®ãããããšã瀺ããŸãïŒ SolidCompression ïŒã
åªããã€ã³ã¹ããŒã©ãŒã¯ãè€æ°ã®èšèªããµããŒãããå¿ èŠããããŸãã ãªãã·ã§ã³ã®[Languages]ã»ã¯ã·ã§ã³ã䜿çšããŠããã»ããã¢ãããã«ãããå«ããŸãã ãã®ã»ã¯ã·ã§ã³ããªãå Žåã¯ãè±èªã䜿çšãããŸãã
;------------------------------------------------------------------------------ ; ;------------------------------------------------------------------------------ [Languages] Name: "english"; MessagesFile: "compiler:Default.isl"; LicenseFile: "License_ENG.txt" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"; LicenseFile: "License_RUS.txt"
ãã®ã»ã¯ã·ã§ã³ã®åè¡ã¯ãã€ã³ã¹ããŒã«äžã«äœ¿çšãããèšèªã®1ã€ãå®çŸ©ããŸãã æååã®æ§æã¯ãã¡ã
< >: < >
ã»ãã³ãã³ã¯ããã©ã¡ãŒã¿ãŒã®åºåãæåãšããŠäœ¿çšãããŸãã Nameãã©ã¡ãŒã¿ãŒã¯ãèšèªã®ãååãã§ãããäžè¬ã«åãå ¥ããããŠãã2æåã®ç¥èªïŒãenãããruãããdeããªã©ïŒãèš±å¯ãããŠããŸãã MessagesFileãã©ã¡ãŒã¿ãŒã¯ãã€ã³ã¹ããŒã«äžã«è¡šç€ºãããã¡ãã»ãŒãžã®ãã³ãã¬ãŒããååŸããå Žæãã³ã³ãã€ã©ãŒã«æ瀺ããŸãã ãããã®ãã³ãã¬ãŒãã¯ãInno Setupã³ã³ãã€ã©ãã£ã¬ã¯ããªã«æ ŒçŽããã ã³ã³ãã€ã©ãã£ã¬ã¯ãã£ãã§å ±åãããŸãã è±èªã®å ŽåãDefault.islãã³ãã¬ãŒããé©ããŠããŸãããã·ã¢èªã®å Žåã¯ãèšèª\ Russian.isl
LicenseFileãã©ã¡ãŒã¿ãŒã¯ã察å¿ããèšèªã®ã©ã€ã»ã³ã¹ããã¹ãã§ãã¡ã€ã«ãžã®ãã¹ãæå®ããŸãã
éåžžãã€ã³ã¹ããŒã©ã¯ãããšãã°ããã¹ã¯ãããã«ã·ã§ãŒãã«ãããäœæãããã©ããã決å®ããããã«æäŸããŸãã ãã®ãããªã€ã³ã¹ããŒã«ãªãã·ã§ã³ã¯ããªãã·ã§ã³ã®[ã¿ã¹ã¯]ã»ã¯ã·ã§ã³ã§æ±ºå®ãããŸãã
;------------------------------------------------------------------------------ ; - , ;------------------------------------------------------------------------------ [Tasks] ; Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
ããã§ãååã¯æäœã®ååãèšå®ããŸã-ãdesktopicomã-ãã¹ã¯ãããäžã«ã¢ã€ã³ã³ãäœæããŸãã 説æ -ãŠãŒã¶ãŒã«è¡šç€ºããããªãã·ã§ã³ãå«ããã§ãã¯ããã¯ã¹ã®èª¬æã 建èšæ¥
{cm:< >}
ã€ã³ã¹ããŒã«ã®éå§æã«éžæãããèšèªã«å¯Ÿå¿ããæšæºã¡ãã»ãŒãžããã¹ããèšå®ããŸãã GroupDescriptionãã©ã¡ãŒã¿ãŒã¯ããªãã·ã§ã³ãå«ããã§ãã¯ããã¯ã¹ã®ã°ã«ãŒãã®èŠåºãã§ãã Flagsãã©ã¡ãŒã¿ãŒã¯ãç¹å®ã®ã¢ã¯ã·ã§ã³ãšã³ã³ãããŒã«ã®ç¶æ ãèšå®ããŸãããã®å Žåãããã¹ã¯ãããã«ã·ã§ãŒãã«ãããäœæããããã§ãã¯ããã¯ã¹ããªãã«ããå¿ èŠãããããšã瀺ããŸãã
æ確ã«ããããã«-çµæã¯æ¬¡ã®ããã«ãªããŸã
ããã§ãã©ã®ãã¡ã€ã«ããã£ã¹ããªãã¥ãŒã·ã§ã³ã«å«ããããã€ã³ã¹ããŒã«äžã«ã©ãã«é 眮ãããã瀺ããŸãã å¿ èŠãªã»ã¯ã·ã§ã³[Files]ã¯ããã«äœ¿çšãããŸãã
;------------------------------------------------------------------------------ ; , ;------------------------------------------------------------------------------ [Files] ; Source: "E:\work\Mirami\Mirami\bin\Release\Miramishi.exe"; DestDir: "{app}"; Flags: ignoreversion ; Source: "E:\work\Mirami\Mirami\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
ããã«
- ãœãŒã¹ -ãœãŒã¹ãã¡ã€ã«ãžã®ãã¹ã MS VSãããžã§ã¯ãã®ãªãªãŒã¹ãã£ã¬ã¯ããªã«ã¯ãããã°ã©ã ãåäœããããã«å¿ èŠãªãã®ããã¹ãŠæã£ãŠããŸã
- DestDir-ã€ã³ã¹ããŒã«ãã£ã¬ã¯ããªã{app}å€æ°ã«ã¯ãã€ã³ã¹ããŒã©ãŠã£ã³ããŠã§ãŠãŒã¶ãŒãéžæãããã¹ãå«ãŸããŸãã
- ãã©ã° -ããŸããŸãªãã©ã°ã ãã®äŸã§ã¯ãå®è¡å¯èœãã¡ã€ã«ã®å ŽåïŒã·ã¹ãã ã«æ¢ã«ååšããå Žåãå®è¡å¯èœã¢ãžã¥ãŒã«ãäžæžããããšãã«ããã°ã©ã ã®ããŒãžã§ã³ãç¡èŠããŸãïŒignorevarsionïŒã ä»ã®ãã¡ã€ã«ãšãã£ã¬ã¯ããªã«ã€ããŠã¯ãããŒãžã§ã³ãç¡èŠãããã¹ãŠã®ãµããã£ã¬ã¯ããªãšãœãŒã¹ãã¡ã€ã«ãååž°çã«å«ãïŒrecursesubdirsïŒãããã§ãªãå Žåã¯ãµããã£ã¬ã¯ããªãäœæããŸãïŒcreateallsubdirsïŒ
æåŸã«ããã¹ãŠãçŸããããããã«ããªãã·ã§ã³ã§ãããã°ã©ã ã¡ãã¥ãŒãšãã¹ã¯ãããäžã®é 眮çšã®ã¢ã€ã³ã³ãååŸããå Žæãã³ã³ãã€ã©ã«ç€ºããŸãã
;------------------------------------------------------------------------------ ; , ;------------------------------------------------------------------------------ [Icons] Name: "{group}\{#Name}"; Filename: "{app}\{#ExeName}" Name: "{commondesktop}\{#Name}"; Filename: "{app}\{#ExeName}"; Tasks: desktopicon
ããã§ã[ã¹ã¿ãŒã]ã¡ãã¥ãŒã®ã°ã«ãŒããšãã¹ã¯ãããã®å Žåãã¢ã€ã³ã³ã¯å®è¡å¯èœã¢ãžã¥ãŒã«ããååŸããå¿ èŠãããããšã瀺ããŸãã åœç¶ãã¢ã€ã³ã³ããã³ã³ãã€ã«ãããå¿ èŠããããŸããããããªããšãå¿ èŠãªå Žæã«Windowsã³ã¬ã¯ã·ã§ã³ã®æšæºã¢ã€ã³ã³ã衚瀺ãããŸãã
ã ããããã¹ãŠãæºåãã§ããŠããããã Ctrl + F9ãæŒããŠãã€ã³ã¹ããŒã©ãŒã®ãã«ããè©Šã¿ãŸãã æ§æãšã©ãŒããªãå Žåããã«ãããã»ã¹ãéå§ãããŸã
Inno Setup Builds Installer
ã¢ã»ã³ããªãæ£åžžã«å®äºããããF9ããŒãæŒããŠã€ã³ã¹ããŒã©ãŒãèµ·åã§ããŸãã å¶éãããæš©éãæã€ã¢ã«ãŠã³ãã§äœæ¥ããŠããå ŽåïŒç§ã¯ãã®æ¹æ³ã§Windowsã䜿çšããŠããå ŽåïŒãã¹ã¯ãªããã§æå®ããã³ã³ãã€ã«çµæãå«ããã£ã¬ã¯ããªã«ã¯ããŒã«ãã管çè æš©éã§ã€ã³ã¹ããŒã©ãŒãå®è¡ããå¿ èŠããããŸã
å¶éãããã¢ã«ãŠã³ãã§ã€ã³ã¹ããŒã©ãŒãå®è¡ãã
ãã®çµæããã¹ãŠã®WindowsãŠãŒã¶ãŒã«èŠçã«éŠŽæã¿ã®ããèšèªéžæãŠã£ã³ããŠã衚瀺ãããŸãã
æšæ¶ãã¹ã¿ãŒ
ã©ã€ã»ã³ã¹å¥çŽ
ãªã©ãªã©ã ããã©ã«ãã¯ãããªã«ã®ãªãç°¡æœãªãŠã£ã¶ãŒããã¶ã€ã³ã§ãïŒå¿ èŠã«å¿ããŠè¿œå ã§ããŸãïŒ
äœãèšããŸããïŒ ãã£ãïŒ ç§ãã¡ã¯æåã®ãã»ããã¢ããããäœæããŸããããæºè¶³ã§ãããããããŸãããã
2. .NET Frameworkã®å±é
ç§ãã¡ãäœããå¿ããããšã«æ°ã¥ããªãã£ãïŒ CïŒã§äœæãããã¢ããªã±ãŒã·ã§ã³ã¯ããããæ§ç¯ããããã¬ãŒã ã¯ãŒã¯ããªããšæ©èœããŸããïŒã·ã¹ãã ã«ãªãå ŽåïŒã é©åãªãã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããããã«ã¯å¿ èŠã§ã
- ãã¬ãŒã ã¯ãŒã¯ã®é åžããããåãåãæ¹æ³ã決å®ããŸãã 2ã€ã®ãªãã·ã§ã³ããããŸã-ããã°ã©ã ã®é åžããã±ãŒãžãšäžç·ã«é ä¿¡ããããå¿ èŠã«å¿ããŠã€ã³ã¹ããŒã«ããããã¿ãŒã²ãããã·ã³ã«ãªã³ã©ã€ã³ã§ããŠã³ããŒããããã§ãã ãã¬ãŒã ã¯ãŒã¯ããã£ã¹ããªãã¥ãŒã·ã§ã³ã«å«ãããªãã·ã§ã³ã«çŠç¹ãåœãŠãŸãã ãã¬ãŒã ã¯ãŒã¯èªäœãããšãã°ããŒãžã§ã³4.0ã¯ã Microsoftããç¡æã§å ¥æã§ããŸãã
- ã¿ãŒã²ããã·ã¹ãã ã§ã®ãã®ãã¬ãŒã ã¯ãŒã¯ã®æç¡ãæ€åºããŸãã ãããè¡ãã«ã¯ãã·ã¹ãã ã¬ãžã¹ããªã®ç¶æ ãåæããããžãã¯ãèšè¿°ããå¿ èŠããããŸãã
ãã§ãã¯ããå¿ èŠã®ããã¬ãžã¹ããªã®å€ã¯ã Microsoftã®å ¬åŒããã¥ã¡ã³ãã«èšèŒãããŠããŸããèšäºã§ã¯ãç°¡åãªçµã蟌ã¿ãè¡ããŸãã
è¡š1 ã .NET Frameworkã®ã€ã³ã¹ããŒã«æžã¿ããŒãžã§ã³ã確èªããã¬ãžã¹ããªããŒ
.NETããŒãžã§ã³ | ã¬ãžã¹ããªã㌠| äŸ¡å€ |
---|---|---|
3.0 | HKLM \ãœãããŠã§ã¢\ Microsoft \ NET Frameworkã»ããã¢ãã\ NDP \ v3.0 \ã»ããã¢ãã\ InstallSuccess | 1 |
3.5 | HKLM \ãœãããŠã§ã¢\ Microsoft \ NET Frameworkã»ããã¢ãã\ NDP \ v3.0 \ã»ããã¢ãã\ã€ã³ã¹ããŒã« | 1 |
4.0ã¯ã©ã€ã¢ã³ããããã¡ã€ã« | HKLM \ãœãããŠã§ã¢\ Microsoft \ NET Frameworkã»ããã¢ãã\ NDP \ v4.0 \ã¯ã©ã€ã¢ã³ã\ã€ã³ã¹ããŒã« | 1 |
4.0å®å šãªãããã¡ã€ã« | HKLM \ãœãããŠã§ã¢\ Microsoft \ NET Frameworkã»ããã¢ãã\ NDP \ v4.0 \ãã«\ã€ã³ã¹ããŒã« | 1 |
4.5 | HKLM \ãœãããŠã§ã¢\ Microsoft \ NET Framework Setup \ NDP \ v4.0 \ Full \ Release | ãªãªãŒã¹çªå· |
ã€ã³ã¹ããŒã©ãŒã®ä»»æã®ããžãã¯ãå®è£ ããããã«ãInno Setupã«ã¯[Code]ã»ã¯ã·ã§ã³ããããŸãã ãã®ã»ã¯ã·ã§ã³å ã§ã¯ãPascalèšèªã§ããžãã¯é¢æ°ãå®è£ ããã³ãŒããå®è£ ãããŠããŸãã ãã®ã»ã¯ã·ã§ã³ã®å 容ãå¥ã®dotnet.pasãã¡ã€ã«ã«å ¥ããã¡ã€ã³ã¹ã¯ãªããã«#includeãã£ã¬ã¯ãã£ããå«ããŸã
;------------------------------------------------------------------------------ ; ;------------------------------------------------------------------------------ [Code] #include "dotnet.pas"
[ã³ãŒã]ã»ã¯ã·ã§ã³ã«çŽæ¥ã³ãŒããå ¥åããããšãã§ããŸãã ãã®ã»ã¯ã·ã§ã³å ã§ã¯Pascalæ§æã䜿çšãããã¹ã¯ãªããã®äž»èŠéšåã§äœ¿çšãããã»ãã³ãã³ã§ã¯ãªããã//ãã·ãŒã±ã³ã¹ãã³ã¡ã³ãã®åã«ããããšã«æ³šæããŠãã ããã
ã·ã¹ãã ã«.NETã®æ£ããããŒãžã§ã³ããããã©ãããå€æããé¢æ°ãäœæããŸã
//----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- function IsDotNetDetected(version: string; release: cardinal): boolean; var reg_key: string; // success: boolean; // .NET release45: cardinal; // 4.5.x key_value: cardinal; // sub_key: string; begin success := false; reg_key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\'; // 3.0 if Pos('v3.0', version) = 1 then begin sub_key := 'v3.0'; reg_key := reg_key + sub_key; success := RegQueryDWordValue(HKLM, reg_key, 'InstallSuccess', key_value); success := success and (key_value = 1); end; // 3.5 if Pos('v3.5', version) = 1 then begin sub_key := 'v3.5'; reg_key := reg_key + sub_key; success := RegQueryDWordValue(HKLM, reg_key, 'Install', key_value); success := success and (key_value = 1); end; // 4.0 if Pos('v4.0 Client Profile', version) = 1 then begin sub_key := 'v4\Client'; reg_key := reg_key + sub_key; success := RegQueryDWordValue(HKLM, reg_key, 'Install', key_value); success := success and (key_value = 1); end; // 4.0 if Pos('v4.0 Full Profile', version) = 1 then begin sub_key := 'v4\Full'; reg_key := reg_key + sub_key; success := RegQueryDWordValue(HKLM, reg_key, 'Install', key_value); success := success and (key_value = 1); end; // 4.5 if Pos('v4.5', version) = 1 then begin sub_key := 'v4\Full'; reg_key := reg_key + sub_key; success := RegQueryDWordValue(HKLM, reg_key, 'Release', release45); success := success and (release45 >= release); end; result := success; end;
è±å¯ãªã³ãŒãã«ããããããããã®æäœã®ããžãã¯ã¯éåžžã«åçŽã§ã-ããŒãžã§ã³ãã©ã¡ãŒã¿ãŒã®å€ã«å¿ããŠãRegQueryDWordValueïŒ...ïŒé¢æ°ã䜿çšããŠã察å¿ããã¬ãžã¹ããªããŒã®å€ãèªã¿åãããå¿ èŠãªå€ãšæ¯èŒãããŸãïŒè¡š1ãåç §ïŒã ããŒãžã§ã³4.5ã§ã¯ããªãªãŒã¹ãã©ã¡ãŒã¿ã«ãªãªãŒã¹çªå·ãè¿œå ã§æž¡ããŸãã
ãããã€ããã¢ããªã±ãŒã·ã§ã³ã«ã¯ãéåžžã«ç¹å®ã®ããŒãžã§ã³ã®.NETãå¿ èŠãªã®ã§ãã¿ãŒã²ããã·ã¹ãã ã§å®çŸ©ããã©ãããŒé¢æ°ãäœæããŸãã
//----------------------------------------------------------------------------- // - //----------------------------------------------------------------------------- function IsRequiredDotNetDetected(): boolean; begin result := IsDotNetDetected('v4.0 Full Profile', 0); end;
ãã¬ãŒã ã¯ãŒã¯ã®å¯çšæ§ã確èªããã€ã³ã¹ããŒã«ãéå§ããåã«å®è¡ããã¢ã¯ã·ã§ã³ããŠãŒã¶ãŒã«éç¥ããã«ã¯ãã³ãŒã«ããã¯é¢æ°InitializeSetupïŒïŒã䜿çšããŸã
//----------------------------------------------------------------------------- // Callback-, //----------------------------------------------------------------------------- function InitializeSetup(): boolean; begin // .NET , // if not IsDotNetDetected('v4.0 Full Profile', 0) then begin MsgBox('{#Name} requires Microsoft .NET Framework 4.0 Full Profile.'#13#13 'The installer will attempt to install it', mbInformation, MB_OK); end; result := true; end;
[Files]ã»ã¯ã·ã§ã³ã«ãã³ã³ãã€ã©ã.NETãã£ã¹ããªãã¥ãŒã·ã§ã³ãååŸããå Žæãã€ã³ã¹ããŒã©ãå±éããå Žæãããã³å±éããæ¡ä»¶ã«ã€ããŠãšã³ããªãè¿œå ããŸãã
; .NET Framework 4.0 Source: "E:\install\dotNetFx40_Full_x86_x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall; Check: not IsRequiredDotNetDetected
ãã©ã°ã§ã¯ãã€ã³ã¹ããŒã«åŸã«.NETãã£ã¹ããªãã¥ãŒã·ã§ã³ãåé€ããå¿ èŠãããããšã瀺ããŠããŸãïŒdeleteafterinstallïŒã 解åãå¿ èŠãªæ¡ä»¶ã¯ã Checkãªãã·ã§ã³ã«ãã£ãŠèšå®ãããŸãããã®ãªãã·ã§ã³ã§ã¯ãIsRequiredDotNetDetectedïŒïŒé¢æ°ãåŒã³åºããfalseãè¿ãããå Žåã«è§£åããŸãã
ãã¬ãŒã ã¯ãŒã¯èªäœã®ã€ã³ã¹ããŒã«ã®éå§ã¯ãã¡ã€ã³ããã°ã©ã ã®ã€ã³ã¹ããŒã«åŸã«å®è¡ã§ãããããã¹ã¯ãªããã«[å®è¡]ã»ã¯ã·ã§ã³ãå«ããŸããããã¯ãã€ã³ã¹ããŒã«ã®å®äºåŸã«éå§ããå¿ èŠããããã®ã瀺ããŸãã
;------------------------------------------------------------------------------ ; ;------------------------------------------------------------------------------ [Code] #include "dotnet.pas" [Run] ;------------------------------------------------------------------------------ ; ;------------------------------------------------------------------------------ Filename: {tmp}\dotNetFx40_Full_x86_x64.exe; Parameters: "/q:a /c:""install /l /q"""; Check: not IsRequiredDotNetDetected; StatusMsg: Microsoft Framework 4.0 is installed. Please wait...
æåã«[Run]ã»ã¯ã·ã§ã³ã®ååãæå®ããŠ[Code]ã»ã¯ã·ã§ã³ãéãã次ã«ã»ãã³ãã³ã§å§ãŸãã³ã¡ã³ããèšè¿°ããŸãã ããã¯ãã¡ã€ã³ã¹ã¯ãªãããš[ã³ãŒã]ã»ã¯ã·ã§ã³ã®æ§æãç°ãªãããã«å¿ èŠã§ããããããªããšãã³ã³ãã€ã«äžã«æ§æãšã©ãŒãçºçããŸãã
ãã®ã»ã¯ã·ã§ã³ã¯ããã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã©ãŒãžã®ãã¹ãèšå®ããŸã-以åã¯äžæãã£ã¬ã¯ããªã«è§£åãããŠããŸããïŒ {tmp}å€æ°ã«ã¯äžæãã£ã¬ã¯ããªãžã®ãã¹ãå«ãŸããŠããŸãïŒã ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãèšå®ãããŸãã Checkãªãã·ã§ã³ã¯ãã€ã³ã¹ããŒã«ãéå§ããããã®æ¡ä»¶ãå®çŸ©ããŸã-ããã¯ãã¿ãŒã²ããã·ã¹ãã ã«å¿ èŠãªãã¬ãŒã ã¯ãŒã¯ããªãããšã§ãã StatusMsgãªãã·ã§ã³ã¯ããŠãŒã¶ãŒãã€ã³ã¹ããŒã©ãŒãŠã£ã³ããŠã«è¡šç€ºããã¡ãã»ãŒãžãå®çŸ©ããŸãã
ãããžã§ã¯ããå床ã³ã³ãã€ã«ããŠããŸãã ããã§ããã¯ãªãŒã³ããªWindowsã§èµ·åãããšãã€ã³ã¹ããŒã©ãŒã¯ã¡ãã»ãŒãžã衚瀺ããŸã
.NET Framework 4.0ãå¿ èŠã§ãããã€ã³ã¹ããŒã«ãããŸãã
解åãããšã.NETãã£ã¹ããªãã¥ãŒã·ã§ã³ãäžæãã©ã«ããŒã«ããã«è§£åãããããšãããããŸãã
ãããŠãããã»ã¹ã¯.NETã€ã³ã¹ããŒã«ã«åãæ¿ãããŸã
ãã€ã¯ããœããã¯ãã©ã€ã»ã³ã¹ã«åæããããæ±ããŸã...
.NETã€ã³ã¹ããŒã«
ãã®åŸãåäœããCïŒã¢ããªã±ãŒã·ã§ã³ããadultãã«ã€ã³ã¹ããŒã«ãããŸã
ãããã«
ç§ã¯ããã§ã¯ãªããå€ãã®ç¹ã§ééã£ãŠããå¯èœæ§ããããŸãã ãããç解ããŠæ±ã£ãŠãã ããã ãã®èšäºã¯noobã«ãã£ãŠnoobsã«ãã£ãŠæžãããŸããããã®äž»ãªç®çã¯ãã€ã³ã¹ããŒã©ãŒã®äœæã®åé¡ã解決ãããšãã«æ€çŽ¢ãã¯ãã«ãèšå®ããããšã§ãã ä»ã®è³ªåã«ã€ããŠã¯ãInno Setupã«ä»å±ã®ããã¥ã¡ã³ããåç §ããŠãã ããã
ãã®äŸã®ã³ãŒã㯠ãç§ã®Githubãªããžããªã§å ¥æã§ããŸãã ã³ã¡ã³ãå ã®ãã¯ã©ãã¯ããã¯ãã¯ãããªã«æåãšã³ã³ãŒãã®äžäžèŽãåå ã§ãã ç§ã¯ãã€ãèªåã®ããã«è±èªã®ã³ã¡ã³ããæžããŠããŸãããã³ãŒããããããç解ããããã«ããã®ééããç¯ããŸããã Windowsã§ããŠã³ããŒããããšããã¹ãŠãçŽ æŽãããèŠããã®ã§ããã®ã°ãããããšãèš±ããŠãã ããã
æ®ãã«ã€ããŠã¯ãããŠãã·ã¥ã«ã¯äŸ¡å€ããããšæããç§ãæã£ã泚æã«æè¬ããŸãã