이 백서는 InstallAware를 사용하여 웹에서 소프트웨어 업데이트를 게시하는 방법을 설명합니다. 소프트웨어 라이프 사이클은 제품의 최초 릴리스 이후에 업데이트가 제공 될 것으로 예상되는 지점으로 발전했습니다. 이 요구 사항을 충족시키기 위해 개발자는 처음부터 웹 업데이트 클라이언트를 구축해야하는 경우가 많습니다. 이러한자가 제작 웹 업데이트 클라이언트는 시간이 지남에 따라 구축하고 유지 관리하는 데 필요한 상당한 개발 리소스를 소비합니다. InstallAware는 즉각적인 노력이나 비용 부담없이이 요구 사항을 해결할 수있는 out-of-the-box 웹 업데이트 기능을 제공합니다. 좋은 InstallAware 전통에서 완전한 사용자 화 가능성과 확장 성을 유지하는 동안.
Asp.net 웹 사이트를 인터넷에 게시하는 방법
다른 웹 업데이트 메커니즘과 달리 InstallAware는 시스템 리소스 및 메모리를 지속적으로 사용하는 업데이트 서비스를 설치하지 않으며 클라이언트 컴퓨터의 공격 영역을 증가시킵니다. InstallAware는 브랜딩을 강요하거나 웹 업데이트 사용자 경험에 다른 제한을 부과하지 않습니다. 일부 웹 업데이트 메커니즘은 HTML 템플릿을 통해서만 사용자 정의 할 수 있지만 InstallAware를 사용하면 전체 업데이트 프로세스를 완전히 제어 할 수 있습니다. 업데이트 사용자 인터페이스뿐만 아니라 워크 플로우도 포함됩니다. 업데이트는 귀하가 가질 수있는 매개 변수의 사용자 정의 세트에 따라 결정된 사용자 기반의 하위 집합으로 선택적으로 선적 될 수 있습니다.
InstallAware의 기본 웹 업데이트 기능은 최적의 사용자 경험과 자신감을 보장하기 위해 Windows Update 이후에 모델링되었습니다. 웹 업데이트 클라이언트는 InstallAware에서 완전히 구현되었으며 별도의 타사 프로그래밍 환경에서는 구현되지 않았습니다. 이것은 InstallAware의 MSIcode 스크립팅 및 대화 상자 디자인 기능의 기능을 보여줍니다. 또한 전체 업데이트 프로세스를 완전히 사용자 지정할 수 있고 투명하게 만듭니다. 업데이트 클라이언트의 전체 소스 코드가 제공되므로 사용자 정의 동작을 주입하거나 필요에 따라 업데이트 메커니즘을 완전히 철저히 조사 할 수 있습니다. 코드 블록을 미리 빌드하고 대화 상자를 업데이트하여 비용이 많이 드는 일반적인 웹 업데이트 동작 재 설계를 피할 수 있습니다..
또한 웹 업데이트 기능이 기본 설치 파일에 컴파일되므로 별도의 업데이트 클라이언트를 대상 시스템에 설치할 필요가 없으므로 페이로드가 줄어서 최종 사용자 컴퓨터와 설치 파일 내부에 공간을 절약 할 수 있습니다.
마지막으로 Windows Update와 마찬가지로 InstallAware는 최종 사용자가 선택한 날짜와 시간에 웹 업데이트를 실행하도록 예약합니다. 업데이트 클라이언트는 선택한 시간에만 실행되므로 백그라운드에서 메모리 나 다른 시스템 리소스를 사용하지 않습니다. 업데이트 다운로드 및 설치 프로세스는 Windows Update와 마찬가지로 매우 방해가되지 않으며 시스템 트레이에 메시지 풍선이있어 업데이트 가용성 및 다운로드 / 설치 진행 상황에 대한 유용한 정보를 제공합니다. 다시 말하지만, 업데이트 클라이언트의 이러한 모든 기본 기능은 기존의 MSIcode 스크립트 및 대화 상자를 편집하여 쉽게 사용자 정의 할 수 있습니다.
이러한 장점을 통해 InstallAware 웹 업데이트는 귀사의 제품을 제조 후 릴리스 한 후 최종 사용자 시스템에 업데이트를 적용하여 비즈니스 프로세스 및 고객 요구 사항에 맞게 웹 업데이트 프로세스를 사용자 정의 할 수있는 능력을 잃지 않고 최대한의 비용 절감 효과를 제공합니다..
Web Update Client 활성화
InstallAware를 사용하여 설치하는 제품의 웹 업데이트를 활성화하려면 다음 단계를 수행하십시오.
1. Windows 시작 메뉴를 사용하여 InstallAware IDE를 실행하고 웹 업데이트 클라이언트를 활성화 할 제품의 설치 프로젝트를 엽니 다..
2. 디자인 탭의보기 그룹에서 제품 정보 버튼을 클릭합니다. 응용 프로그램 정보 제목에서 프로젝트 속성 디자인보기를 선택하십시오..
3. 응용 AN 그 % 갱신 수신 선택란을 선택하십시오. InstallAware는 자동으로 모니터 URL 필드의 시작 URL을 제안합니다. 필요한 경우 웹 서버를 가리 키도록 URL을 수정하십시오. 지금 updates.ini 파일에 대해 걱정하지 마십시오..
그게 다야! 현재 InstallAware 웹 업데이트 클라이언트가 제품에 대해 사용 가능합니다..
업데이트 종류
이 문서는 제품 업데이트 자체의 생성에 대해서는 설명하지 않습니다. 제품 업데이트가 구성 될 수있는 항목에는 사전 설정된 제한이 없습니다. 업데이트는 제품의 새 버전이 포함 된 전체 setup.exe 파일 일 수 있습니다. 이전에 설치된 제품 버전을 최신 버전으로 업그레이드하는 패치 일 수 있습니다. 또는 실행할 때 제품을 원하는 상태로 업데이트하는 다른 사용자 정의 실행 파일 :
전체 제품 설치자 : 기존 설치 프로젝트를 완전히 다시 빌드하면 최종 사용자에게 업데이트로 제공 될 수 있습니다. 실행하면 설치 프로그램이 자동으로 이전 제품 버전을 제거하고이 단계를 설치 전제 조건으로 간주 한 다음 계속해서 응용 프로그램의 최신 버전을 다시 설치합니다. 물론이 접근법은 기존 제품 설치 내에서 이미 시스템에 비트가있는 경우 기존 최종 사용자가 정식 버전 설치 프로그램을 다운로드해야한다는 단점이 있습니다..
* 바이너리 패치 : 제품 버전간에 변경된 데이터 만 포함하는 증분 바이너리 패치를 제공하려면 InstallAware 백서 :InstallAware를 사용하여 응용 프로그램 패치:를 참조하십시오. 여기에는 다음을 사용하여 제품에 대한 패치를 작성하는 방법이 설명되어 있습니다. InstallAware.
* 사용자 지정 프로그램 : 또는 업데이트 시나리오는 업데이트 시나리오에서 요구하는대로 일련의 작업을 수행하는 완전히 사용자 지정 프로그램 파일 일 수 있습니다. 설치 또는 패치 일 필요는 없으며 InstallAware 빌드 파일 일 필요는 없습니다. 파일, 레지스트리 키 등을 업데이트 할 필요도 없습니다. 원하는 업데이트 프로그램을 실행하는 동안 원하는 실행 프로그램을 자유롭게 실행할 수 있습니다..
응용 프로그램에 대해 몇 가지 업데이트를 사용할 수있게되면 다음 섹션으로 계속 진행하십시오. 이 가이드를 완료하기 위해 모의 제품 업데이트를 제공하는 setup.exe 파일을 여러 개 가지므로 변경하지 않고 기존 설치 프로젝트를 몇 번만 다시 빌드하면됩니다. 다시 빌드하기 전에 프로젝트의 제품 버전 필드를 늘리십시오. 그러면 InstallAware에서 변경된 :새 버전:번호를 추적 할 수 있습니다.
업데이트 팩
사용 가능한 각 제품 업데이트는 InstallAware에서 원자 적으로 처리되며 :업데이트 팩:이라고합니다. 제품에 대한 업데이트 팩을 정의하려면 다음과 같이하십시오.
1. 디자인 탭의보기 그룹에서 웹 업데이트 단추를 클릭합니다. 웹 업데이트 제목에서 업데이트 팩 디자인보기를 선택하십시오..
2. 새로 만들기 버튼을 클릭하여 새 업데이트 팩 정의 작성을 시작합니다. 업데이트 팩 대화 상자가 나타납니다..
업데이트 이름 필드에이 업데이트를 설명하는 이름을 입력하십시오. 업데이트를 확인할 때이 이름을 사용하는 최종 사용자에게 업데이트가 표시됩니다..
업데이트 설치 프로그램의 전체 다운로드 URL 필드에 런타임시 실제 업데이트 설치 프로그램을 다운로드 할 수있는 웹 (또는 네트워크) 주소를 입력하십시오. 업데이트 파일을 호스팅 할 FTP, HTTP 또는 HTTPS 사이트를 선택할 수 있습니다. 이 필드에 지정된 정확한 파일 이름을 사용하여 업데이트 설치 프로그램을 서버에 업로드하십시오..
업데이트 설명 필드에이 업데이트에 대한 여러 줄 설명을 입력하십시오..
업데이트 설치 후 시스템을 다시 시작하려면 업데이트 설치 프로그램을 실행 한 후 재부팅 확인란을 선택하십시오. Windows Update와 마찬가지로 최종 사용자는 선택한 모든 업데이트의 설치가 끝나면 다시 부팅하라는 메시지가 표시됩니다..
업데이트 설치 프로그램을 자동으로 실행하려면 자동으로 업데이트 설치 프로그램 실행 확인란을 선택하십시오. InstallAware는 자동 InstallAware 설정을위한 표준 명령 줄 매개 변수 인 자동 설치를 용이하게하기 위해 / s 명령 줄 스위치를 업데이트 설치 관리자로 전달합니다. 사용자 지정 프로그램을 실행하는 경우 / s 스위치가 아무런 영향을 미치지 않을 수도 있습니다. 업데이트는 일반적으로 자동 설치되며 업데이트를 자동으로 실행하는 최적의 최종 사용자 환경을 위해 권장됩니다.
업데이트 설치 프로그램에 전달할 다른 명령 줄 매개 변수가 있으면 업데이트 설치 프로그램의 추가 명령 줄 매개 변수 필드에 입력하십시오.
설정에 만족하면 확인을 클릭하여 업데이트 팩 정의를 저장합니다..
3. 각 업데이트 팩은 적합하다고 생각되는 제품 버전을 하나 이상 업데이트 할 수 있습니다. 업데이트 팩에는 적용 할 수있는 제품 버전에 대한 기본 제한이 없으며, 이는 사용자가 직접 선택할 수 있습니다.
예를 들어 제품 버전이 3 가지라고 가정 해 보겠습니다. 버전 1.0, 1.1 및 1.2이며 최신 운송 버전은 1.2입니다. 버전 1.0 사용자를 패치로 버전 1.1로 업데이트 한 다음 버전 1.1 사용자를 다른 패치로 버전 1.2로 업데이트 할 수 있습니다. 또는 버전 1.0과 1.1 사용자를 모두 버전 1.2로 업데이트 할 수 있습니다. 누적 업데이트를 통해 두 버전 모두를 업그레이드 할 수 있습니다. 먼저 1.0에서 1.1로 이동하지 않아도됩니다..
이 아이디어를 테스트하려면 응용 프로그램에 대한 두 개의 업데이트 팩을 추가로 정의하십시오. 팩 중 하나를 호출하십시오. 버전 1.1 및 기타 누적 업데이트 (1.0 및 1.1)의 권장 업데이트. 각 업데이트에 따라 업데이트 팩 대화 상자 안의 필드를 채우십시오. 그러면 업데이트 팩 디자이너는 위와 같습니다..
이제 제품에서 사용할 수있는 원자 적 업데이트에 대한 설명을 마쳤습니다..
업그레이드 할 제품 버전
다음 단계는 고객 기반에서 이미 사용 중이며 업데이트 대상인 제품 버전을 정의하는 것입니다. 이 차례를 따라라:
1. 디자인 탭의보기 그룹에서 웹 업데이트 단추를 클릭합니다. 웹 업데이트 제목에서 버전 디자인보기를 선택하십시오..
2. 버전 디자이너에서 추가 버튼을 클릭하여 업그레이드 할 제품 버전을 정의합니다. 새 응용 프로그램 버전 대화 상자가 나타납니다..
이 대화 상자를 사용하여 업그레이드 할 각 제품의 버전 번호를 하나씩 입력하십시오. 이전 예제를 계속 진행하면서이 대화 상자를 세 번 사용하여 제품에 대한 버전 번호 1.0, 1.1 및 1.2를 정의하십시오.
이 대화 상자에 입력하는 버전 번호는 제품 설치 프로그램에 사용 된 버전 번호와 정확하게 일치해야합니다. 현재 설정 프로젝트에서 사용중인 버전 번호를 검토하려면 InstallAware 버튼을 클릭하고 프로젝트 설정을 선택하여 프로젝트 옵션 대화 상자를 표시하십시오. 이 대화 상자의 프로젝트 페이지는 사용중인 버전 번호를 제품 버전 필드 아래에 표시합니다.
예를 들어, 업데이트하려는 제품의 버전이 Project Options 대화 상자에서 3.14.15926으로 정의 된 경우 New Application Version 대화 상자에서 정확히 동일한 번호를 사용하십시오. 정확히 일치하지 않는 버전 번호를 사용하면 업데이트와 해당 제품 간의 링크가 끊어집니다..
업데이트 팩을 제품 버전과 연결
마지막 단계는 필드에 이미 배포 된 제품과 업데이트를 연결하는 것입니다. 이는 포인트 앤 클릭 인터페이스를 통해 수행됩니다.
1. 버전 디자이너에서 여전히 응용 프로그램 버전 제목 아래에 제품 버전을 선택하십시오. InstallAware는 이전에 정의 된 모든 업데이트 팩을 제품 버전의 오른쪽에있는 Update Packs Selected Version 항목 아래에 나열합니다.
2. 선택한 제품 버전에 대해 제공 할 각 업데이트를 확인합니다. 해당 버전에 적용 할 수있는 업데이트에 따라 각 버전에 대한 하나 이상의 업데이트를 확인할 수 있습니다. 해당 버전에 사용할 수있는 업데이트가없는 경우 (즉, 선택한 버전이 최신 버전 임) 선택을하지 않거나 이전 선택 사항이있는 경우 기존 체크 표시를 지우십시오.
업데이트가 설치된 순서를 변경하려면 업데이트 팩 목록의 오른쪽에있는 위쪽 / 아래쪽 화살표 단추를 사용하십시오.
3. 정의한 각 제품 버전에 대해 1-2 단계를 반복하십시오. 이렇게하면 제품 버전과 해당 업데이트의 연결이 완료됩니다.!
업데이트로 실시간 이동
InstallAware는 IDE의 업데이트 팩 및 버전 디자인보기에서 수행 한 모든 작업을 updates.ini 파일에 기록합니다. 이 파일은 주 프로젝트 폴더 안에 있습니다 (빌드를 수행 할 때마다 자동으로 빌드 출력 폴더에 복사됩니다). 프로젝트 폴더를 탐색하고 Windows 메모장에서이 파일을 열어 다음과 같이 표시합니다.
보시다시피, updates.ini 파일은 InstallAware IDE를 사용하여 시각적으로 입력 한 데이터에 충실한 사용 가능한 각 업데이트를 설명하는 INI 파일 형식의 일반 텍스트 파일입니다. 메모장에서이 파일을 직접 편집하면 InstallAware IDE에 변경 사항이 반영됩니다. 특히 최종 사용자 중 어떤 사용자에게 제공되는 업데이트를보다 정확하게 제어해야하는 경우 사용자 지정 필드를이 파일에 추가 할 수도 있습니다. 물론 InstallAware IDE는 사용자 지정 데이터를 시각적으로 나타낼 수는 없지만이를 보존 할 것입니다.
updates.ini 파일은 나머지 설치 프로젝트와 완전히 독립적입니다. 사실 빌드를 할 때 setup.exe 파일에 포함되어 있지 않습니다. 웹 업데이트 클라이언트를 사용하도록 설정 한 모든 설정은 IDE의 프로젝트 속성 디자인보기 아래에있는 모니터 URL 필드에 지정된 URL에서이 파일을 읽으려고 시도합니다. 이 파일의 이름을 임의의 사용자 정의 이름과 확장자로 자유롭게 바꿀 수 있습니다. 모니터 URL 필드에 지정된 URL이 INI 파일의 위치와 정확하게 일치하는 한, 다운로드되고 성공적으로 처리됩니다.
프로젝트 속성 디자이너의 모니터 URL 필드는 실제로 업데이트 클라이언트의 MSIcode 스크립트가 런타임에 updates.ini 파일을 다운로드 할 위치를 결정하는 컴파일러 변수 # UPDATE_SERVER #를 설정합니다.
다른 모든 컴파일러 변수와 마찬가지로이 값은 프로젝트 옵션 대화 상자의 컴파일러 변수 페이지에서도 변경할 수 있습니다.
업데이트 팩에서 언급 한 업데이트 설치 관리자와 함께 올바른 위치에 updates.ini 파일을 업로드하면 업데이트가 실행됩니다! 필드에 설치 한 업데이트 클라이언트는 최종 사용자의 일정 및 기본 설정을 기반으로 업데이트를 자동으로 검색, 다운로드 및 설치합니다..
배포 시나리오
수동으로 업데이트 클라이언트 호출
앞에서 설명한 것처럼 업데이트 클라이언트는 제품을 설치하는 실제 setup.exe 파일과 별개의 것이 아닙니까? 그러나 그것의 묻힌 부분. 설치 프로그램은 전달 된 명령 줄 스위치를 기반으로 업데이트 클라이언트 모드에서 실행 중인지 여부를 확인하고 기본 설치 스크립트의 업데이트 클라이언트 스크립트.
업데이트 스크립트의 MSIcode 소스를 편집하여 자유롭게 사용자 지정할 수있는 업데이트 클라이언트의 기본 동작은 다음과 같습니다.
1. 응용 프로그램이 성공적으로 설치되면 다음에 사용자가 로그온 할 때 최종 사용자에게 응용 프로그램의 업데이트 확인 일정을 선택하라는 메시지 풍선이 표시됩니다.
2. 사용자는 시스템 트레이의 메시지 풍선 아이콘을 두 번 클릭하여 업데이트 예약 마법사를 표시합니다. 사용자는 업데이트를 자동으로 다운로드 / 설치하기위한 기본 환경 설정 (또는 발견 된 각 업데이트에 대해 묻는 메시지)과 함께 일정을 선택합니다 (매일 / 매주). 또한 사용자는 자신의 로그온 자격 증명을 입력하여 InstallAware가 업데이트 프로세스를 위해 시스템에 생성하는 Windows 예약 작업을 활성화합니다.
3. InstallAware는 지정된 사용자 계정으로 예정된 시간에 업데이트 클라이언트 모드에서 setup.exe를 실행하기 위해 Windows에 예약 된 작업을 만듭니다. 또한 InstallAware는 최종 사용자의 업데이트 다운로드 / 설치 기본 설정 (자동 / 수동).
4. 예약 된 시간에 Windows의 작업 스케줄러 엔진이 업데이트 클라이언트 모드에서 설치 프로그램을 시작합니다. 업데이트 클라이언트는 자동으로 업데이트를 확인합니다. 업데이트가 없으면 업데이트 클라이언트가 자동으로 종료됩니다. 업데이트를 사용할 수있는 경우 업데이트 클라이언트는 원래 업데이트 일정 설정 중에 설정된 기본 설정을 기반으로 자동 또는 사용자 승인을 통해 업데이트를 다운로드 / 설치합니다..
5. 업데이트 클라이언트는 백그라운드에서 서비스로 항상 실행되지 않습니다. 예약 된 시간에만 실행되며 실제로 업데이트를 다운로드 / 설치하는 동안에 만 메모리에 남아 있습니다. 이렇게하면 시스템 리소스가 절약되는 동시에 최종 사용자 시스템의 공격 영역이 줄어 듭니다..
업데이트 클라이언트는 올바른 명령 줄 매개 변수로 setup.exe 파일을 실행하기 만하면 명령 줄에서 또는 응용 프로그램에서 프로그래밍 방식으로 수동으로 호출 할 수도 있습니다. 업데이트 클라이언트 (setup.exe 파일)의 위치와 다양한 업데이트 클라이언트 모드를 트리거하는 명령 줄 스위치는 아래에 설명되어 있습니다.
업데이트를 예약하거나 확인하려면 응용 프로그램이 이미 설치되어 있어야합니다. 응용 프로그램을 설치하기 전에 아래에 설명 된 명령 줄 매개 변수로 설치 프로그램을 호출하지 마십시오..
업데이트 클라이언트의 위치 결정
모든 사용자 설치의 경우 다음 레지스트리 키 아래에 있습니다.
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall
Just Me 설치 대신 다음 레지스트리 키를 살펴보십시오.
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionUninstall
두 경우 모두 UninstallString 문자열 값의 데이터를 읽습니다. 이 문자열의 일반적인 값은 다음과 같습니다.
:C : Documents and SettingsApplication Data.exe:REMOVE = TRUE MODIFY = FALSE
응용 프로그램에서이 문자열을 구문 분석하여 명령 줄 매개 변수 REMOVE = TRUE MODIFY = FALSE를 제거하고 주 문자열을 둘러싼 큰 따옴표를 제거하십시오. 업데이트 클라이언트 (설치 프로그램은 물론)의 위치를 나타내는 마지막 문자열은 다음 형식이어야합니다.
C : Documents and SettingsApplication Data.exe
프로그래밍 방식으로 업데이트 예약
setup.exe를 업데이트 예약 모드로 전환하는 명령 줄 스위치는 / updatesetup입니다. 이 명령 줄 스위치는 업데이트가 이미 기존 업데이트 일정과 기본 설정을 변경하도록 예약 된 후에 다시 사용할 수 있습니다.
업데이트 스케줄링 프로세스는 또한 업데이트가있을 때 수행 할 작업을 결정합니다. 최종 사용자는 사용 가능한 업데이트를 자동으로 다운로드 또는 설치하거나 수동으로 발견 한 개별 업데이트의 다운로드 및 설치를 승인합니다. 사전 설정된 일정으로 최종 사용자를위한 업데이트를 제공하지 않으려는 경우에도 / updatesetup 명령 줄 매개 변수를 사용하여 setup.exe를 한 번 이상 실행해야 이러한 중요 업데이트 설치 기본 설정이 초기화됩니다. 이 사전 초기화없이 업데이트를 다운로드하고 설치하기 위해 업데이트 클라이언트를 실행하면 업데이트 예약 단계에서 초기화되는 초기화되지 않은 업데이트 스크립트 변수로 인해 런타임 오류가 발생할 수 있습니다.
다음 단계에 따라 제품 설치가 완료된 직후 기본 설치 스크립트에서 직접 사전 초기화를 수행 할 수 있습니다.
1. InstallAware IDE에서 MSIcode 탭으로 전환하십시오.
2. MSIcode 편집기에서 시작 페이지의 오른쪽에있는 기본 설정 스크립트를 선택하십시오.
3. MSIcode 스크립트 바로 위에있는 왼쪽 코드 탐색 드롭 다운에서 Comments 범주를 선택하십시오.
4. 오른쪽 코드 탐색 드롭 다운에서 응용 프로그램을 여기에서 시작하는 TO-DO : Insert 명령을 선택하십시오. 이렇게하면 MSIcode 편집기가 성공적인 응용 프로그램 설치 후에 실행되는 스크립트 부분으로 이동합니다 (취소 된 설치 또는 제거 이후에는 실행되지 않으며 원하는 결과가 아닙니다).
5. MSIcode 스크립트의 강조 표시된 영역으로 프로그램 실행 끌어서 놓기 또는 입력을 입력하고 아래 스크린 샷과 같이 프로그램 실행 대화 상자를 구성하십시오.
6. 확인을 클릭하면이 프로그램 실행 명령이 MSIcode 스크립트에 삽입됩니다. 이 새로운 프로그램 실행 명령은 미리 정의 된 $ EXEFILE $ 변수를 사용하여 런타임에 setup.exe 파일의 위치를 자동으로 확인하고 응용 프로그램 설치가 완료된 후 업데이트 예약 모드에서 자동으로 설치 프로그램을 다시 실행합니다.
7. 설정 프로젝트를 저장하고 다시 작성하여 변경 사항을 적용합니다..
이 사전 초기화 루틴은 최종 사용자가 다음에 로그온 할 때 업데이트 일정을 선택할 필요가 없으며 setup.exe를 직접 호출하여 응용 프로그램에서 언제든지 업데이트를 확인할 수 있습니다.
프로그래밍 방식으로 업데이트 확인
setup.exe를 업데이트 확인 모드로 전환하는 명령 줄 스위치는 / update입니다. 이 명령 줄 스위치는 응용 프로그램 내에서 프로그래밍 방식으로 업데이트를 확인하는 데 사용할 수 있습니다. 이 스위치와 / s 자동 설치 명령 줄 매개 변수를 조합하여 발견 된 업데이트를 자동으로 다운로드하고 설치할 수 있습니다.
위에 설명 된 것처럼이 명령 줄 스위치를 사용하기 전에 setup.exe가 / updatesetup 매개 변수로 적어도 한 번 실행되었는지 확인하십시오.
업데이트 클라이언트에서 종료 코드 반환
자신의 응용 프로그램 내에서 갱신 클라이언트를 호출 할 때, 특히 갱신 클라이언트를 자동으로 실행하는 경우, 클라이언트가 갱신 사항을 발견했는지, 정보를 성공적으로 설치했는지 등에 대한 정보를 얻는 것이 바람직 할 수 있습니다. 업데이트 스크립트를 편집하고 표준 업데이트 설치 스크립트 대신 업데이트 코드로 MSIcode 명령을 사용하여 종료 코드를 사용하여 업데이트 클라이언트로 실행을 마친 후 종료 할 수 있습니다.
이전 명령을 검색하고 사용자 정의 된 종료 코드와 함께 새 명령으로 대체하십시오.
1. InstallAware IDE에서 MSIcode 탭으로 전환하십시오.
2. 업데이트 스크립트를 선택하십시오..
3. MSIcode 탭의 Edit 그룹에서 Find 버튼을 클릭합니다. Terminate Installation 텍스트를 찾으십시오..
4. 발견 된 각 Terminate Installation 명령을 MSIcode 편집기를 사용하여 종료 코드로 종료 명령으로 바꾸십시오.
편의를 위해 표준 업데이트 스크립트에서 복사 한 일부 코드 조각을 주석으로 삽입하여 각 종단점의 의미를 강조 표시합니다.
변수 WIZARD가 CANCEL과 같으면
설치 종료
// 사용자가 업데이트 설치를 취소했습니다.
그밖에
?
설치 종료
// 일정 업데이트를 성공적으로 완료했습니다.
END REGION 업데이트 모드
변수 UPDATE_GET_INI가 SUCCESS와 같지 않은 경우
설치 종료
// 업데이트 서버가 오프라인입니다.
종료
변수 UPDATE_AVAILABLE이 같으면
설치 종료
// 제품에 대한 업데이트가 없습니다.
종료
변수 ABORT가 TRUE이면
설치 종료
// 사용자가 업데이트 설치를 중단했습니다.
종료
?
설치 종료
// 업데이트가 성공적으로 설치되었습니다.
끝 부분 다운로드 및 업데이트 설치
5. 업데이트 스크립트에서 한 번 발견 된 컴퓨터 재부팅 명령을 종료 코드로 종료 명령으로 바꿀 수도 있습니다. 특히 자동 실행 중에는 최종 사용자의 승인없이 컴퓨터를 다시 시작하지 않으려 고합니다..
종료 코드로 종료 명령과 함께 사용할 종료 코드는 어떤 사전 결정된 규칙이 없습니다. 0은 :성공:을 나타내는 종료 코드로 보편적으로 사용되지만 다른 모든 종료 코드는 응용 프로그램에 따라 다릅니다. 고유 한 종료 코드를 정의하고 업데이트 클라이언트를 호출하는 응용 프로그램에서 해당 코드를 확인하기 만하면됩니다. 종료 코드의 예는 사용자 중단의 경우 1, 사용 불가능한 업데이트 서버의 경우 2, 업데이트가없는 경우 3, 다시 부팅해야하는 경우 4, 성공적인 작동을 위해서는 0 일 수 있습니다. 사용자 지정 종료 코드를 정의 할 때 Windows는 숫자 종료 코드 만 허용한다는 점에 유의하십시오.
또한 업데이트 클라이언트는 실제 업데이트 설치 관리자가 반환 한 종료 코드 (시스템에서 업데이트를 적용하는 실제 전체 설치, 패치 또는 사용자 지정 프로그램)를 확인하지 않습니다. 업데이트 설치 프로그램 자체에서 특정 종료 코드를 반환하고 프로그램 실행 후 MSIcode 업데이트 스크립트에서 업데이트 설치 프로그램을 실행 한 직후 반환 코드를 확인할 수 있습니다.
사용자 지정 업데이트 필터 구현
자격을 갖춘 사용자에게만 업데이트를 제공 하시겠습니까? 예를 들어, 회사와의 가입 계획에있는 사용자. 또는 제품 버전이 여러 개있을 수 있으며 제품 버전뿐만 아니라 제품 언어와 같은 추가 매개 변수를 기반으로 업데이트 가용성을 인증해야 할 수도 있습니다. InstallAware를 사용하면 이미 MSIcode 업데이트 스크립트의 전체 소스가 있으므로 표준 업데이트 클라이언트에 사용자 지정 업데이트 필터를 쉽게 추가 할 수 있습니다..
이 섹션에서는 미리 빌드 된 InstallAware 업데이트 클라이언트를 사용하여 제품 업데이트의 전달을 미세 조정하는 방법을 설명하기 위해 언어 기반 필터를 구현합니다. 이 예제를 기반으로 직렬 인증, 구독 확인 등과 같은 추가 사용자 지정 한정자를 업데이트 프로세스에 추가 할 수 있습니다.
업데이트 팩 정의 확장
기존 업데이트 팩 정의에 사용자 지정 한정자를 추가하려면 다음 단계를 수행하십시오.
1. Windows 메모장을 사용하여이 문서의 첫 번째 부분에서 만든 updates.ini 파일을 엽니 다. 이 INI 파일은 설치 프로젝트 폴더에 있습니다..
2. 첫 x 째 갱신 팩용으로 작성된 INI 파일 섹션을 찾으십시오. 이 INI 파일 섹션은 [Recommended Update for Version 1.0] 행으로 시작됩니다. 이 섹션 아래에 새 INI 파일 항목을 추가하십시오 : Languages = English.
3. 두 x 째 갱신 팩용으로 작성된 INI 파일 섹션을 찾으십시오. 이 INI 파일 섹션은 [Recommended Update for Version 1.1] 행으로 시작됩니다. 이 섹션 아래에 새 INI 파일 항목을 추가하십시오 : Languages = German.
4. 최종 갱신 팩용으로 작성된 INI 파일 섹션을 찾으십시오. 이 INI 파일 섹션은 [누적 업데이트 1.0 및 1.1] 줄로 시작됩니다. 이 섹션 아래에 새 INI 파일 항목을 추가하십시오 : Languages = English, German.
5. 변경 사항을 INI 파일에 저장하고 웹 서버에 업로드하십시오..
이제 각 업데이트 팩 선언에 새 언어 한정자를 추가했습니다. Updates 클라이언트를 업데이트하여 updates.ini 파일을 읽고 구문 분석 할 때이 정보에 액세스 할 수 있습니다..
업데이트 클라이언트 확장
업데이트 클라이언트를 확장하려면 미리 작성된 스크립트에 필터링 논리를 추가하여 업데이트 스크립트의 MSIcode 원본을 사용자 지정하십시오. 이 문서를 간단하게 유지하기 위해 아래 변경된 내용은 정규화되지 않은 업데이트 설치를 건너 뛰고 최종 사용자에게 메시지 상자로 경고합니다. 고급 구현은 사용 가능한 업데이트 목록에서 자격이없는 업데이트를 모두 숨길 수 있습니다..
1. InstallAware IDE에서 MSIcode 탭으로 전환하십시오. 업데이트 스크립트 선택.
2. MSIcode 탭의 Edit 그룹에서 Find 버튼을 클릭합니다. 텍스트 검색 프로그램 $ SUPPORTDIR $을 (를) 검색하십시오. 이것은 업데이트 설치 프로그램을 실행하는 업데이트 스크립트의 일부입니다..
3. MSIcode 스크립트의 강조 표시된 영역에 끌어서 놓기 또는 Get INI 파일 설정 MSIcode 명령을 입력하고 아래 스크린 샷과 같이 INI 파일 설정 가져 오기 대화 상자를 구성하십시오.
4. Get INI File Settings 명령 다음에 If MSIcode 명령을 삽입하십시오.
5. 프로그램 실행 명령 바로 다음에 Else 명령을 삽입하십시오.
6. Else 명령 다음에 다음과 같이 구성된 MessageBox 명령을 삽입하십시오.
7. MessageBox 명령 다음에 End 명령을 삽입하고 If 명령으로 앞서 시작한 조건절을 닫습니다.
8. 모든 변경 사항을 저장하고 설정을 다시 작성하십시오..
위의 단계를 완료하면 MSIcode 스크립트는 다음과 같이 보입니다.
INI $ SUPPORTDIR $ updates.ini, [$ UPDATE_NAME $] 언어 값 가져 오기 ?
변수 UPDATE_QUALIFIED에 $ LANGUAGE $가 있으면
프로그램 $ SUPPORTDIR $$ UPDATE_NAME $ .exe 실행 ?
그밖에
MessageBox : $ TITLE $ Updates, $ TITLE $ 업데이트를 설치할 수 없습니다. ?
종료
위의 스크립트에서 INI 파일 설정 가져 오기는 먼저 업데이트를 허용하는 언어 목록을 INI 파일 (이전 섹션에서 업데이트 한)에서 읽어와 $ UPDATE_QUALIFIED $ 변수에 저장합니다. 그렇다면 $ UPDATE_QUALIFIED $ 변수에 사전 정의 된 변수 $ LANGUAGE $가 평가하는 언어가 포함되어 있는지 테스트합니다. 이 사전 정의 된 변수는 항상 실행중인 언어 설정의 영어 이름으로 평가됩니다. 평가 결과가 긍정적 인 경우 프로그램 실행을 사용하여 업데이트를 설치합니다. 그렇지 않으면 MessageBox가 최종 사용자에게이 업데이트가 해당 시스템에 적용되지 않음을 알립니다.
예를 들어, [누적 업데이트 1.0 및 1.1] 업데이트 팩 및 영어 설정의 경우 변수 $ UPDATE_QUALIFIED $는 문자열 리터럴 인 영어와 독일어로 평가되며 변수 $ LANGUAGE $는 문자열 리터럴 영어로 평가됩니다 . 따라서 더 큰 문자열 인 영어에는 독일어에 더 작은 문자열 인 영어가 포함되므로 업데이트가 적용됩니다.
그러면 제품 업데이트를 인증하기위한 추가 필터를 구현하는 프로세스가 완료됩니다. 단 5 줄의 코드로 사용자 정의 요구 사항에 맞게 미리 빌드 된 업데이트 클라이언트의 동작을 사용자 정의했습니다..
추가 리소스
InstallAware 기술에 대한 자세한 내용은 다음 URL의 InstallAware 웹 사이트 게시물을 참조하십시오.
http://www.installaware.com/home/publications.asp
InstallAware의 스크립팅 및 웹 배포 기술과 검토 자 가이드에 대한 심층 분석을 제공하는 백서는 위 URL에서 볼 수 있습니다..