- °³¿ä
- ¼³Ä¡ ³¡³ ÈÄ ÇÁ·Î±×·¥ ½ÇÇàÇϱâ
- ÀÌÀü ¹öÀü ÇÁ·Î±×·¥ÀÌ ÀÖÀ» °æ¿ì ¾ðÀνºÅçÇÏ°í ¼³Ä¡Çϱâ
- ¸µÅ©
1 °³¿ä
2 ¼³Ä¡ ³¡³ ÈÄ ÇÁ·Î±×·¥ ½ÇÇàÇϱâ
ÀÌ°Ç ´Ù¸¥ ¹æ¹ýÀÌ ÀÖÀ» °Í °°±âµµ Çѵ¥, ¾î·µç »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷(custom action)À» ÀÌ¿ëÇϸé ó¸®ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷Àº ¼Ö·ç¼Ç Ž»ö±â¿¡¼ ¼³Ä¡ ÇÁ·ÎÁ§Æ®¸¦ ¿À¸¥ÂÊÀ¸·Î Ŭ¸¯ÇÑ ´ÙÀ½, º¸±â > »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷ ¸Þ´º¸¦ ¼±ÅÃÇÏ¸é º¼ ¼ö ÀÖ´Ù. »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷ÀÌ ½ÇÇàµÇ´Â ½ÃÁ¡¿¡´Â 4°¡Áö°¡ Àִµ¥, ¼³Ä¡°¡ ³¡³ ÈÄ, ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â °ÍÀ̹ǷΠĿ¹Ô¿¡´Ù ÀÛ¾÷À» »ý¼ºÇØ¾ß ÇÑ´Ù.
Ä¿¹Ô ³ëµå¸¦ ¿À¸¥ÂÊÀ¸·Î Ŭ¸¯ÇÑ ´ÙÀ½ »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷ Ãß°¡ ¸Þ´º¸¦ ´©¸£¸é ÆÄÀÏÀ» ¼±ÅÃÇ϶ó´Â ¸Þ½ÃÁö°¡ ¶ß´Âµ¥, ÇÁ·ÎÁ§Æ®¿¡´Ù ¹Ì¸® ½ÇÇàÇÒ ÆÄÀÏÀ» Ãß°¡ÇØµÖ¾ß ÇÑ´Ù. ½ÇÇàÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀÇ Á¾·ù´Â VB ½ºÅ©¸³Æ® ÆÄÀÏ, DLL ÆÄÀÏ, EXE ÆÄÀÏ Á¤µµÀε¥, ÇÁ·Î±×·¥ ½ÇÇàÇϱâ´Â º°·Î º¹ÀâÇÑ ÀÛ¾÷ÀÌ ¾Æ´Ï¹Ç·Î, VB ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÑ´Ù. (¹é½Å ÇÁ·Î±×·¥ÀÌ ½ºÅ©¸³Æ® ½ÇÇàÀ» ¸·´Â °æ¿ìµµ ÀÖ´Ù°í ÇÑ´Ù.)
Install.vbs ¶ó´Â À̸§ÀÇ ÆÄÀÏÀ» ÇÁ·ÎÁ§Æ®¿¡´Ù Ãß°¡Çß´Ù. ±× ´ÙÀ½ »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷ Ãß°¡¸¦ ÅëÇØ ÆÄÀÏÀ» Ä¿¹Ô ³ëµå¿¡´Ù Ãß°¡ÇÑ´Ù.
Ä¿¹Ô ³ëµå¿¡ ÀÖ´Â Install.vbs ³ëµåÀÇ ¼Ó¼º(Alt+Enter) âÀ» º¸¸é CustomActionData¶ó´Â Ç׸ñÀÌ ÀÖ´Ù. ÀÌ°Ç ½ºÅ©¸³ÆÃ ½Ã½ºÅÛÀÌ ¹Þ¾ÆµéÀÌ´Â Ä¿¸Çµå ¶óÀÎ Àμö Á¤µµ¶ó°í ÀÌÇØÇÏ¸é µÈ´Ù. ¿©±â¿¡´Ù IDE ÀÚü¿¡¼ »ç¿ëÇÏ´Â ¸ÅÅ©·Î °ªµéÀ» Àû¾îÁÖ¸é, ½ºÅ©¸³Æ® ³»ºÎ¿¡¼ À̸¦ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù.
[TARGETDIR]Àº ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇ´Â µð·ºÅ丮´Ù. ½ºÅ©¸³Æ®¿¡¼´Â ÀÌ µð·ºÅ丮¸¦ ¹Þ¾Æ ±× ¾È¿¡ ÀÖ´Â ½ÇÇà ÆÄÀÏÀ» ½ÇÇàÇÑ´Ù. »ç¿ëÀÚ ÁöÁ¤ ÀÛ¾÷ÀÌ ¹ÝȯµÇÁö ¾ÊÀ¸¸é, ¼³Ä¡µµ ³¡³ªÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ½ºÅ©¸³Æ®¿¡¼´Â ÇÁ·Î±×·¥ÀÌ ¹ÝȯµÇ´Â °ÍÀ» ±â´Ù¸®Áö ¾Êµµ·Ï ÇÑ´Ù.
Install.vbs
strDir = Session.Property("CustomActionData") ' CustomActionData °ªÀº ÀÌ·± ½ÄÀ¸·Î ¹Þ¾Æ¿Ã ¼ö ÀÖ´Ù.
strCmd = """" & strDir & "ToolChainUpdater.exe"""
Set objShell = CreateObject("WScript.Shell")
objShell.Run strCmd, 0, false 'Run ÇÔ¼öÀÇ ¸¶Áö¸· Àμö´Â ½ÇÇàÇÑ ÇÁ·Î±×·¥ÀÌ ¹ÝȯµÇ´Â °ÍÀ» ±â´Ù¸®´Â°¡ ¸¶´Â°¡ÀÌ´Ù. ¾à°£ ÀÀ¿ëÇØ º¸¸é, ¾ðÀνºÅç ½ºÅ©¸³Æ®µµ ¸¸µé ¼ö ÀÖ´Ù.
Uninstall.vbs
' ÇÁ·Î¼¼½º Á×ÀÌ°í ·Î±× ÆÄÀÏ »èÁ¦ÇÑ´Ù
Set objWmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'ToolChainUpdater.exe'")
For Each p in colProcesses
p.Terminate()
Next
strDir = Session.Property("CustomActionData")
strCmd = "cmd /c del /q """ & strDir & "*.log"""
Set objShell = CreateObject("WScript.Shell")
objShell.Run strCmd, 0, false
3 ÀÌÀü ¹öÀü ÇÁ·Î±×·¥ÀÌ ÀÖÀ» °æ¿ì ¾ðÀνºÅçÇÏ°í ¼³Ä¡Çϱâ
»õ·Î¿î ½ÇÇà ÆÄÀÏÀ» ºôµåÇÑ ÈÄ¿¡, ¹èÆ÷ ÇÁ·ÎÁ§Æ®ÀÇ ¹öÀüÀ» ¿Ã·ÁÁÖÁö ¾ÊÀ¸¸é, ¼³Ä¡½Ã ÀÌÀü ¹öÀüÀÌ ±ò·Á ÀÖÀ» °æ¿ì, ´Ù¸¥ ¹öÀüÀÇ Á¦Ç°ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ¾î¼ ¼³Ä¡ÇÒ ¼ö ¾ø´Ù´Â ¸Þ½ÃÁö°¡ ¶á´Ù.
À̸¦ ÇØ°áÇϱâ À§Çؼ´Â »õ·Î¿î ¹èÆ÷ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé ¶§¸¶´Ù, ¹öÀüÀ» ¿Ã·ÁÁà¾ß ÇÑ´Ù. ¹öÀüÀº ¼Ó¼º â(ÇÁ·ÎÁ§Æ® ¿À¸¥ÂÊÀ¸·Î Ŭ¸¯Çؼ ³ª¿À´Â ¼Ó¼ºÃ¢ÀÌ ¾Æ´Ï¶ó, Alt+Enter ´·¯¼ ³ª¿À´Â ¼Ó¼ºÃ¢)¿¡¼ ¸Ç ¾Æ·¡ÂÊ¿¡ ÀÖ´Ù.
ÀÌ °ªÀ» º¯°æÇϸé ProductCode¿Í PackageCodeµµ °°ÀÌ º¯°æÇÏ´Â °ÍÀÌ ÁÁ´Ù´Â ´ëÈâÀÌ ¶ß´Âµ¥, YES¸¦ ¼±ÅÃÇØÁÖ¸é µÈ´Ù.
ÀÌ·¸°Ô ¹öÀüÀ» º¯°æÇؼ ¹èÆ÷ ÇÁ·Î±×·¥À» ¸¸µé¸é, ÀÌÀü ¹öÀüÀÇ ÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖÀ» °æ¿ì, Á¦°ÅÇÏ°í ¼³Ä¡¸¦ ÁøÇàÇÏ°Ô µÈ´Ù.
4 ¸µÅ©
SeriousMoin v1 (koMoinMoin 1.0a4 Modified)