반응형




★manifest 적용하기전에 실행파일 백업 必!!!!

(이미 생성 된 exe파일에 후처리 작업하는거라서 이걸 다시 열어서 수정하려고 하면 에러날 수도 있음)



cmd를 관리자 권한으로 실행


manifest를 적용하고자 하는 실행파일(ex. TEST.exe)이 있는 경로로 이동.


ex)

C:\WINDOWS\system32>cd C:\Users\rosis\Desktop\TEST

C:\Users\rosis\Desktop\TEST>notepad TEST.exe.manifest


--> 이거 입력하면 메모장뜸


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity version="1.0.0.0"
      processorArchitecture="X86"
      name="TEST.exe"
      type="win32"/>
   <description>Optional description of your application</description>

   <!-- Identify the application security requirements. -->
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
     <security>
       <requestedPrivileges>
         <requestedExecutionLevel
           level="requireAdministrator"
           uiAccess="false"/>
         </requestedPrivileges>
        </security>
   </trustInfo>

 </assembly> 



  • asInvoker: 응용 프로그램을 시작한 프로세스와 동일한 권한으로 응용 프로그램이 실행됩니다. 관리자 권한으로 실행을 선택하면 응용 프로그램의 권한 수준을 높일 수 있습니다. - 일반권한

  • requireAdministrator: 응용 프로그램이 관리자 권한으로 실행됩니다. 응용 프로그램을 시작하는 사용자는 관리자 그룹의 멤버이어야 합니다. 응용 프로그램을 여는 프로세스가 관리자 권한으로 실행되고 있지 않은 경우 자격 증명을 입력하라는 메시지가 표시됩니다.

  • highestAvailable: 최대한 높은 권한 수준으로 응용 프로그램이 실행됩니다. 응용 프로그램을 시작하는 사용자가 관리자 그룹의 멤버이면 이 옵션은 requireAdministrator와 같습니다. 사용 가능한 가장 높은 권한 수준이 응용 프로그램을 여는 프로세스의 수준보다 높으면 자격 증명을 입력하라는 메시지가 표시됩니다. (비추천)



이제 저장하고. 메모장 종료.



다시 cmd창으로 돌아와서


C:\Users\rosis\Desktop\TEST>MT -manifest TEST.exe.manifest -outputresource:TEST.exe;#1


이거 입력하면


Microsoft (R) Manifest Tool version 5.2.3790.2075

Copyrigth (c) Microsoft Corporation 2005.

All rights reserved.


뜸.



아이콘 보면 방화벽모양의 방패모양이 끝에 붙어있음.


관리자권한으로 실행되도록 manifest적용 된 것임.




끝.



총정리.

ex)

cmd에서 입력해줘야 하는 부분

C:\WINDOWS\system32>cd C:\Users\rosis\Desktop\TEST


C:\Users\rosis\Desktop\TEST>notepad TEST.exe.manifest


C:\Users\rosis\Desktop\TEST>MT -manifest TEST.exe.manifest -outputresource:TEST.exe;#1

Microsoft (R) Manifest Tool version 5.2.3790.2075

Copyrigth (c) Microsoft Corporation 2005.

All rights reserved.







반응형
반응형





잘 돌던 소스가 안열리니 환장할일ㅠ_ㅠ

간간히 버젼이 안맞아서 안열리는 경우가 있길했는데

그럴땐


열고자 하는 vbp파일을 우클릭해서 텍스트 파일에서 오픈하여


Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX 부분에서 버젼을 변경해주면 됐다.


Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX

혹은

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.2#0; MSCOMCTL.OCX



그런데도 안열려서 찾아보니까

vb를 열어서 속성 - 프로젝트 속성 - 하단의 체크박스에 ActiveX 컨트롤 업그레이드(U)에 체크되어 있었음.

이 체크를 비활성화 시켜주면 됨.



그런데...

파일이 이미 다 깨지고 난 다음이라 이것은 앞으로 파일을 만들때 필요한부분이지 당장 내가 필요한것은 아님..


그래서 파일을 열기전에



열고자 하는 vbp파일을 우클릭해서 텍스트 파일에서 오픈하여

NoControlUpgrade=1 

한줄을 추가해주었음.



그랬더니 이제 잘 열림




혹시라도 2.1, 2.2, 2.0의 버젼이 궁금하다면

regdllview프로그램을 다운받아서 mscomctl.ocx 를 찾아서 눌러보면 버젼이 뜬다.

반응형

'Programming > VB.NET' 카테고리의 다른 글

[vb.net]소스 글자 크기, 색상 변경  (0) 2019.07.23
[vb.net]On Error GoTo 0  (0) 2018.10.17
vb.net 배열 길이 구하기  (0) 2017.06.11
반응형





데몬(daemon) 프로그램이란?

백그라운드에서 돌면서 여러 작업을 하는 프로그램




그렇다면 만들어준 프로그램을 어떻게 데몬으로 실행할것인가?


-> 작업스케줄러에 띄워준다.




->작업스케줄러 띄우는 법.



실행창으로 하는법.


1. 윈도우즈 검색창에서 '작업 스케줄러' 혹은 'taskschd.msc'를 검색하여 실행시킨다. (혹은 제어판 - 시스템 및 유지 관리 - 관리도구 - 작업스케줄러)


2. 우측의 '작업 만들기...' 클릭


3. 일반탭에서 작업하고자 하는 데몬파일의 작업명을 입력한다. (나같은 경우에는 여기서 하단의 '가장 높은 수준의 권한으로 실행'도 설정한다.)


위치에서 실행하고자 하는 파일의 위치를 지정해준다.


사용자의 로그온 여부에 관계없이 실행 설정.


4. 트리거 탭에서 '새로만들기'클릭


5. 새 트리거 만들기 창이 뜨면 거기서 프로그램이 실행되기를 바라는 시간대를 입력하는데, 


나는 데몬프로그램으로 컴퓨터 시작할떄마다 돌아가도록 설정함.  -> '작업시작 : 시작할 때' 설정 후 '확인'





--> 재시작해서 작업관리자 화면의 서비스탭을 보면 설정한 파일이 실행되고 있음을 알 수 있음.

서버같은 경우라서 재시작이 불가능한 경우에는 트리거를 지금 당장 실행되도록 하나 더 만들면 됨.




cmd 창에서 하는법.


우선 관리자 권한으로 cmd창 호출.



schtasks /create /tn [작업명] /tr [실행파일 경로 및 실행파일 명] /sc ONSTART


ex) schtasks /create /tn TEST /tr C:\TEST.exe /sc ONSTART



이거 뒷단에서 돌게 하려면 cmd 입력창에 -startup을 입력했던것 같은데 확실하게 기억이 안남...

반응형

+ Recent posts