▣중-고급자 활용/그게 궁금해?

"AutoIt" 활용(2)

횡재수 2008. 7. 27. 14:26

우선 이 글은 "http://snoopybox.tistory.com"에서 펌했음을 밝힙니다.

===================================================================

 

 

제가 알집으로 몇 명에게 테스트를 해보니 대부분은 잘 되었는데
중간에 멈추는 컴퓨터도 있다고 합니다.
따라서 귀찮더라도 IF NOT THEN 구문을 일일이 넣어야겠습니다.

ACDSEE를 선택한 이유는 시디키 입력과 구성요소 선택 부분이 있기 때문입니다.
시디키는 그냥 텍스트를 보내면 되고 구성요소는 키보드 화살표를 사용하시면 됩니다.

일단 강좌에 사용할 ACDSEE는 용량이 많기 때문에 WinRAR 분할압축으로 첨부해드립니다.





압축을 푸시고

각 화면을 보고 진행하겠습니다.

먼저 실행을 시켜야겠죠.

RUN("SETUP.EXE")

 

 

 

이 창에선 ALT + N 하면 되겠군요.
지금부터 귀찮더라도 IF NOT 구문을 사용하겠습니다.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2")
SEND("!N")

 


이 창에서는 동의를 해주고 넘어가면 되겠네요.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","License Agreement")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","License Agreement") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","License Agreement")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","License Agreement")
SEND("!A!N")

 

 

 

이 창에서는 드디어 시디키 입력부분이 나왔습니다.

우선 라이센스 코드 칸으로 넘어가야 하니까 텝을 세번 누르고 시디키를 입력하고 Alt + N 하면 되겠군요.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Customer Information")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Customer Information") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Customer Information")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Customer Information")
SEND("{TAB 3}D29DVH-3348T-3TRM87-HZQ6J42!N")

근데 SEND 부분은 사실 하나 하나 쓰는게 맞습니다. 텝 3번, 시디키보내기, 알트 N 이렇게 3번 나눠서 쓰면 되는데
왜 모아서 쓰냐구요? 그냥 좀 있어보여서요 ^^

다른 것도 마찬가지지만 저 부분은
{TAB 3}
D29DVH-3348T-3TRM87-HZQ6J42
!N
이렇게 3가지가 동시에 적혀있는 것입니다. 그냥 저렇게 붙여쓰면 됩니다.

 

 

여기서는 커스텀 선택을 하고 넥스트를 눌러야겠죠?
Alt + S 와 Alt + N 하면 되겠군요.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Setup Type")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Setup Type") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Setup Type")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Setup Type")
SEND("!S!N")

 


오늘의 하이라이트 구성요소 선택 창이 등장했습니다. 알집과 다른 점이 바로 시디키 입력과 이 부분이죠.
사실 뭐 별건 없지만 ㅎㅎ 저는 ACDSEE만 쓰고 나머지 플러그인들은 사용하지 않습니다.
그래서 저것들을 전부 체크 해지해야겠습니다.

여기서 하위 항목을 펼치려면 방향키 오른쪽을 하시면 되구요
그 항목의 설치옵션을 보려면 스페이스
설치 옵션을 선택하려면 엔터
위 아래 이동은 역시 방향키

저는 먼저 ACDSee Pro 2 항목을 열어서 그 하위항목 2가지를 다 없앨 것입니다.
그리고 메인트리 아래쪽에 있는 5가지 항목들은 전부 체크 해지하겠습니다.
키를 엄청 보내는데 똑같은 패턴의 반복입니다. 스페이스로 선택하고 아래쪽으로 3칸 이동 후 엔터
그런식으로 항목을 체크 해지하는거죠

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Custom Setup")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Custom Setup") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Custom Setup")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Custom Setup")
SEND("{RIGHT}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}!N")

 


확장자 연결하는 부분인데 당연히 그림 보기 프로그램인 만큼 저는 ALL 선택된 그대로 가겠습니다.
Alt + N 해주면 되겠네요.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup")
WINWAITACTIVE("ACDSeePro 2 - InstallShield Wizard","Shell Integration Setup")
SEND("!N")

 

 


여기선 Alt + I 해주면 되겠네요.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program")
SEND("!I")

 


마지막 창입니다. Launch 부분은 체크를 해지해야겠죠.
텝 - 스페이스 - Alt + F 순서로 하시면 되겠네요.

WINWAIT("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed")
SEND("{TAB}{SPACE}!F")



다 끝났습니다. 지금까지 작성된 스크립트를 한 곳에 모아드리겠습니다.

RUN("SETUP.EXE")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro 2")
SEND("!N")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","License Agreement")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","License Agreement") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","License Agreement")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","License Agreement")
SEND("!A!N")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Customer Information")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Customer Information") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Customer Information")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Customer Information")
SEND("{TAB 3}D29DVH-3348T-3TRM87-HZQ6J42!N")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Setup Type")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Setup Type") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Setup Type")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Setup Type")
SEND("!S!N")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Custom Setup")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Custom Setup") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Custom Setup")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Custom Setup")
SEND("{RIGHT}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}{DOWN}{SPACE}{DOWN 3}{ENTER}!N")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Shell Integration Setup")
SEND("!N")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","Ready to Install the Program")
SEND("!I")
WINWAIT("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed")
IF NOT WINACTIVE("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed") THEN WINACTIVATE("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed")
WINWAITACTIVE("ACDSee Pro 2 - InstallShield Wizard","InstallShield Wizard Completed")
SEND("{TAB}{SPACE}!F")



그리고 스크립트로 첨부해드리겠습니다.




컴파일한 EXE 파일도 첨부해드리겠습니다.




사실 이정도만 익혀도 유틸리티 자동설치는 쉽게 하실 수 있습니다.
키보드로 도저히 안되는 프로그램이 있다면 그 때는 마우스를 이용한 방법을 써야겠죠.
제가 KMP에 CoreAVC 설정하는거 만들 때 요즘은 그냥 레지스트리로 해버리지만
예전에는 이 AutoIt 으로 직접 마우스 움직이도록 만들었습니다.
그래서 간혹 일부 컴퓨터에선 KMP 환경설정창에서 멈추는 경우가 발생했구요
이번처럼 IN NOT을 써주면 되는데 이렇게 하면 각 단계마다 딜레이가 있어서 약간 마음에 들지는 않습니다.
하지만 대신 삐꾸나는 컴퓨터는 거의 없어지겠죠.

 

"AutoIt" 활용(3)

 

 

'▣중-고급자 활용 > 그게 궁금해?' 카테고리의 다른 글

DirectX 10 for Windows XP  (0) 2008.08.09
"AutoIt" 활용(3)  (0) 2008.07.27
"AutoIt" 활용(1)  (0) 2008.07.27
[WSH] Windows Script Host 활용-Winrar (2)  (0) 2008.07.26
[WSH] WScript 와 CSciprt  (0) 2008.07.26