윈도우 제어판의 프로그램 추가/삭제의 항목들은 레지스트리를 통해 제어된다.

 

레지스트리의 기본 위치는 프로그램이 32비트냐 64비트냐에 따라 달라진다.

 

32비트: "HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
64비트: "HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"

자주 사용하는 레지스트리 항목을 정리하면 다음과 같다.

형식 예제 데이터 설명
AuthorizedCDFPrefix SZ http://updates.example.com 소프트웨어 업데이트 채널에 사용되는 URL의 화이트리스트. 만약 "http:"로 적혀있으면 http로 통신하는 모든 호스트라는 의미가 된다. 대부분 비어있음.
Comment SZ Caution. Removing this product might prevent some applications from running. 프로그램 설명
Contact SZ NVIDIA Corporation 연락할 회사명
DisplayIcon SZ   아이콘 파일 경로. 실행파일경로(+리소스인덱스) 또는 ico 파일 경로.
DisplayVersion SZ "10.1.17763.132" SemVer 문자열
HelpLink SZ   도움말 URL
InstallDate SZ(%YYYYMMDD%) "20200930" 프로그램이 설치/패치된 날짜.
InstallLocation SZ E:\\games\\Steam\\steamapps\\common\\City of Heroes 프로그램이 설치된 기본 디렉터리. 디렉터리 구분자는 \\
InstallSource SZ   설치본 경로. CD로 설치하지 않으니 쓸 일이 거의 없음.
Language DWORD LangId 00(중립), 0x409(영어), 0x412(한국어)
docs.microsoft.com/en-us/windows/win32/intl/language-identifiers 참고
ModifyPath SZ   설치 수정 프로그램 경로
NoModify=0 DWORD 1 제어판 선택시 '복구, 수정, 삭제'를 표시할지 여부. 1이면 표시안함
NoRemove=0 DWORD 1 "
NoRepair=0 DWORD 1 "
Publisher SZ   개발사.URLInfoAbout의 텍스트
QuietUninstallString SZ   그냥 삭제시키는 프로그램 경로
Readme SZ   Readme 파일 경로.
UrlInfoAbout SZ    
UrlUpdateInfo SZ    
Version DWORD(0xMMmmBBBB)   MSI 에서 사용되는 version string. Major.minor.build
WindowsInstaller DWORD   MSI인지 아닌지를 나타내는 불린 값. 1이면 MSI

 

Inno Setup을 이용하여 설치프로그램을 만들었으면 "Inno Setup"이라는 접두어를 가진 필드를 생성한다. 예를 들어 프로그램 옵션은 "Inno Setup CodeFile: Bash Terminal Option", 기본 Inno Setup 옵션은 "Inno Setup: User"으로 생성한다.

 

MementoSection_ 접두어를 사용하는 경우도 있는데, 이는 확장자 연결 프로그램을 롤백할 때 사용하기 위한 것이다.

 

EstimatedSizesms(DWORD) KB 단위로 프로그램의 전체 용량을 기록하는데, Win7+에서는 아무데서도 사용되지 않는다.

HelpTelephone(SZ)은 전화번호이지만, 요즘 세상에 고객응대를 전화로 하는 곳이 있을까.

 

반응형

요 며칠 재미있게 <유닉스의 탄생>을 읽었다. 벨연구소에 모인 개발자들이 유닉스를 만들면서 이루어진 IT의 역사. 한편의 IT 수호지인 셈이다.

 

 

멀틱스는 두번째 시스템 효과(second system effect)의 희생양이었다. 성공한 시스템이 나온후에는 모두가 좋아하는 새로운 기능을 추가하는 동시에 원래 시스템에 남아있는 모든 문제를 해결한 시스템을 만들려는 유혹에 빠지기 쉽다. 동시에 너무 많고 다양한 일에 도전하면 결국 지나치게 복잡한 시스템을 만들게 된다....over-engineering...
우리는 모두 직접 개발한 소프트웨어의 사용자였고, 이는 소프트웨어를 개선하게 하는 진정한 동기가 됐다.....


우리가 인터넷 사업에 조금이라도 발을 담그려면 이 영역에서 재빨리 행동하는 법을 배워야 합니다...


일을 즐기고 동료와 즐거움을 나는 것은 중요하다.....


우리가 지키고자 했던 것은 그저 프로그래밍을 하기에 좋은 환경이 아니라 유대감을 형성할 수 있는 시스템이었습니다.

 

읽다보면 인물 이야기도 중간중간에 나오는데, 개인적으로 에릭 슈미츠가 더 놀라웠다. 구글 CEO였던 그가 예전에 lex개발에 참여했던 개발자였다는 사실은 알고 있었는데.. 책에 소개된 일화는 ...나같은 필부는 따라갈 수 없는 영역이다.

 

"Lex의 첫번째 버전을 만든 직후, 여름 인턴으로 들어온 에릭 슈미츠가 재작성했습니다."

 

그외에도 유닉스 도구와 파이프 개념 등이 등장하게 된 배경 이야기를 접할 수 있어서 재미있게 읽었다.

별점은 4.5. <해커, 광기의 랩소디>와 같이 읽으면 재미있을 것 같다.

이어서 읽을 예정인 책은 동일 저자(브라이언 커니헨-TCPL 저자이자 awk, AMPL,C언어 등을 만든 미국컴퓨팅 3현중 1인)의 <숫자가 만만해 지는 책>.... 그 사이에 다른 책 잠시 읽고...

 

Brian Kernighan의 책 목록/원서

https://www.amazon.com/gp/product/B07ZQHX3R1

 

UNIX: A History and a Memoir

UNIX: A History and a Memoir

www.amazon.com

 

반응형

+ Recent posts