2016-07-27 4 views
0

Inno 설치에서 설치 파일을 개발 중입니다. 사용자가 'custom'을 선택할 때 설치할 3 가지 옵션 구성 요소가 있습니다.Inno Setup으로 자동 설치를위한 기본 구성 요소

잘 작동하지만 /SILENT 매개 변수가 전달되면 구성 요소가 설치되지 않습니다. 구성 요소를 확인하지 않았으므로 가정합니다.

... 여기에 관련된 코드 조각입니다 :

[Types] 
Name: custom; Description: {cm:instCustom}; Flags: iscustom 
Name: full; Description: {cm:instFull} 

[Components] 
Name: Programador; Description: {cm:cmpProgramador}; Types: full 
Name: Usuario; Description: {cm:cmpUsuario}; Types: full 
Name: Reporte; Description: {cm:cmpReporte}; Types: full 

[Icons] 
Name: {group}\{cm:cmpProgramador}; Filename: {app}\Programador\{#MyAppExeNameA}; Components: Programador 
Name: {group}\{cm:cmpUsuario}; Filename: {app}\Usuario\{#MyAppExeNameB}; Components: Usuario 
Name: {group}\{cm:cmpReporte}; Filename: {app}\Reporte\{#MyAppExeNameC}; Components: Reporte 
Name: {group}\Desinstalar MIVES; Filename: {uninstallexe} 

[Registry] 
Root: HKCU; Subkey: Software\UPC; Flags: uninsdeletekey 
Root: HKCU; Subkey: Software\UPC\MIVES 
Root: HKLM; Subkey: Software\UPC; Flags: uninsdeletekey 
Root: HKLM; Subkey: Software\UPC\MIVES 
Root: HKLM; Subkey: Software\UPC\MIVES\Settings; ValueType: string; ValueName: InstallPath; ValueData: {app} 

; file association depens of the components selected 
Root: HKCR; Subkey: .mip; ValueType: string; ValueData: mip_auto_file; Flags: uninsdeletekey; Components: Programador 
Root: HKCR; Subkey: mip_auto_file; Flags: uninsdeletekey; Components: Programador 
Root: HKCR; Subkey: mip_auto_file\shell\open\command; ValueType: expandsz; ValueData: {app}\Programador\{#MyAppExeNameA} %1; Components: Programador 

Root: HKCR; Subkey: .miu; ValueType: string; ValueData: miu_auto_file; Flags: uninsdeletekey; Components: Usuario 
Root: HKCR; Subkey: miu_auto_file; Flags: uninsdeletekey; Components: Usuario 
Root: HKCR; Subkey: miu_auto_file\shell\open\command; ValueType: expandsz; ValueData: {app}\Usuario\{#MyAppExeNameB} %1; Components: Usuario 

Root: HKCR; Subkey: .mir; ValueType: string; ValueData: mir_auto_file; Flags: uninsdeletekey; Components: Reporte 
Root: HKCR; Subkey: mir_auto_file; Flags: uninsdeletekey; Components: Reporte 
Root: HKCR; Subkey: mir_auto_file\shell\open\command; ValueType: expandsz; ValueData: {app}\Reporte\{#MyAppExeNameC} %1; Components: Reporte 

[Files] 
Source: {#MyAppExeNameA}; DestDir: {app}\Programador; Flags: promptifolder; Components: Programador 
Source: {#MyAppExeNameB}; DestDir: {app}\Usuario; Flags: promptifolder; Components: Usuario 
Source: {#MyAppExeNameC}; DestDir: {app}\Reporte; Flags: promptifolder; Components: Reporte 

내가 /silent 또는 /verysilent 매개 변수가 전달 될 때 세 가지 구성 요소 (구성 요소 '사용자 선호도') 중 하나가 기본적으로 설치되었는지 필요합니다.

나는 Check: WizardSilent을 사용해야한다고 생각 하나, 나는 어디 있는지 모른다. 사실, 나는 Components 섹션에서 WizardSilent를 추가했지만, 아무 일도 발생하지 않습니다 :

는 어느 쪽도 아니 Files 섹션에
[Components] 
Name: Programador; Description: {cm:cmpProgramador}; Types: full 
Name: Usuario; Description: {cm:cmpUsuario}; Types: full; Check: WizardSilent 

:

  • MIVES_211.exe /SP- /verysilent> :

    여기
    [Files] 
    Source: {#MyAppExeNameB}; DestDir: {app}\Usuario; Flags: promptifolder; Components: Usuario; Check: WizardSilent 
    

    내가 필요 없다 >> 기본적으로 "Usuario"구성 요소를 설치합니다 (자동 모드 및 /components 매개 변수 없음)

  • MIVES_211.exe /SP- /silent /components=Reporte는 >>> 만 'Reporte "성분 (침묵 모드, components 파라미터)
  • MIVES_211.exe /SP- /silent /components=Usuario,Reporte가 >>>"사용자 선호도 "와"Reporte "성분 (침묵 모드, components 파라미터)를 설치하는 설치

EDITED : 하나의 해결책을 찾은 것 같지만 좋은 해결책인지 잘 모릅니다.

[Types] 
Name: silent; Description: {cm:instCustom}; Check: WizardSilent 
Name: custom; Description: {cm:instCustom}; Flags: iscustom 
Name: full; Description: {cm:instFull} 

그리고 구성 요소 섹션 (구성 요소가 I 자동 설치에 기본적으로 설치하려는), 구성 요소 "사용자 선호도"에서 사용 :

[Components] 
Name: Programador; Description: {cm:cmpProgramador}; Types: full 
Name: Usuario; Description: {cm:cmpUsuario}; Types: full silent 
Name: Reporte; Description: {cm:cmpReporte}; Types: full 
그냥 WizardSilent 검사를 포함하여 하나 개의 새로운 유형을 추가

이제는 원하는대로 작동합니다. 그러나 설치 마법사에서 하나만 표시하지 않는 한 동일한 설명이있는 두 가지 유형이있는 것을 좋아하지 않습니다.

좋은 생각인가요?

감사합니다.

+0

몇 가지 코드를 보여주세요! 자동 설치로 어떤 설치 유형을 설치합니까? 사용자 지정 구성 요소가 설치되는 이유는 무엇입니까? 사용자 지정 구성 요소가 기본적으로 선택 되었습니까? –

+0

코드를 게시 할 수 있습니까? –

+0

지금 코드를 추가했습니다. – Franki

답변

1

설정이 잘못되었다고 생각합니다.

자동 설치는 일반/기본/일반 설치가 무엇이든 설치해야합니다. 이제 기본 설치가 "전체"설치 인 것처럼 보이지만 자동 설치가 다르게 동작하기를 원합니다. 그건 맞지 않아.

"Usuario"구성 요소와 함께 기본 "Typical"설치 유형이 있어야합니다. 마치 "침묵"유형처럼.그러나 "일반"유형은 대화식 설치에서도 의미가 있습니다.

[Types] 
Name: typical; Description: "Typical" 
Name: full; Description: "Full" 
Name: custom; Description: "Custom"; Flags: iscustom 

[Components] 
Name: Programador; Description: "Programador"; Types: full 
Name: Usuario; Description: "Usuario"; Types: full typical 
Name: Reporte; Description: "Reporte"; Types: full 

그리고 어쨌든 /SILENT 항상 /LOADINF 또는 적어도 /COMPONENTS 또는 /TYPE 동반되어야한다. Check: WizardSilent가 대화 형 설치에이 유형을 숨길 수 있기 때문에


"침묵"유형 귀하의 솔루션

는 해킹하면서, 어느 정도 작동합니다.


, BTW 업그레이드 단순한 /SILENT로, 설치 이전 (아마도 대화 형) 설치에서 선택한 구성 요소를 사용 않습니다.

+0

고마워, 마틴. 내가했던 것처럼 똑같은 묘사로 두 가지 유형을 갖는 것은 약간 이상했습니다. 작동하지만, ... ... 자동 설치에 기본적으로 설치되는 "일반"유형의 것이 더 좋습니다. 해결책을 시도해 보겠습니다. – Franki

관련 문제