임베디드 설치 프로그램 세트 만 실행하는 Inno Setup 설치 프로그램

Jan 08 2021

Inno Setup에서 임베디드 설치 프로그램 세트 만 실행하는 설치 프로그램을 만들고 있습니다. 자체적으로 파일을 설치하지 않습니다.

설치 프로그램을 컴파일 할 때 다음 오류가 표시됩니다.

드라이브 문자로 전체 경로를 입력해야합니다. 예 : C : \ APP 또는 \ server \ share와 같은 UNC 경로

아래는 내 코드이지만 테스트 정보를 위해 회사 정보를 교체했습니다. 전체 UNC 경로가 있으므로이 오류가 발생하는 이유를 모르겠습니까? 이 과정에서 위치에 대한 자격 증명을 어떻게 입력합니까?

[Setup]
AppName=DRsetup
AppVerName=DRsetup
DefaultDirName=C:\
OutputDir=.
OutputBaseFilename=DRsetup
DisableDirPage=yes
DisableFinishedPage=yes
Uninstallable=no

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[TASKS]
Name: MapDrives; "Description: Map the network drives"; \
    GroupDescription: "Application Selection:"; 
Flags: unchecked exclusive;
Name: Test; Description: "Test"; GroupDescription: "Application                         
selection:"; Flags: unchecked exclusive;
Name: Test2; Description: "Test2"; GroupDescription: "Application selection:"; \
    Flags: unchecked exclusive;
Name: Test3; Description: "Test3"; GroupDescription: "Application         
selection:"; Flags: unchecked exclusive;
Name: Test4; Description: "Test4"; GroupDescription: "Application selection:"; 
Flags: unchecked exclusive;
Name: Test5; Description: "Test5"; GroupDescription: "Application selection:"; \
    Flags: unchecked exclusive;
Name: Test6; Description: "Test6"; GroupDescription: "Application selection:"; 
Flags: unchecked exclusive;
Name: Test7; Description: "Test7"; GroupDescription: "Application selection:"; \
    Flags: unchecked exclusive

[Files]
Filename: {sys}\net.exe; \
     Parameters: "use I: \\Test\PUB /user:administrator /PERSISTENT:YES"; \
     Tasks: MapDrives;
Filename: {sys}\net.exe; \
    Parameters: "use H: \\Test\SYS /user:administrator /PERSISTENT:YES"; \
    Tasks: MapDrives;
Source: "\\Test\PUB\Install\Test.exe"; DestDir: "{app}"; Flags: 
ignoreversion; Languages: english; Tasks: Test
Source: "\\Test\PUB\Install\Test2.exe"; DestDir: "{app}"; Flags: ignoreversion; 
Languages: english; Tasks: Test2;
Source: "\\Test\PUB\Install\Test3.msi"; DestDir: "{app}"; Flags:         
ignoreversion; Languages: english; Tasks: Test3;
Source: "\\Test\PUB\Install\Test4.msi"; DestDir: "{app}"; Flags: 
ignoreversion; Languages: english; Tasks: Test4;
Source: "\\Test\PUB\Install\Test5.msi"; DestDir: "        
{app}"; Flags: ignoreversion; Languages: english; Tasks: Test5;
Source: "\\Test\PUB\Install\Test6.exe"; DestDir: "{app}"; Flags: 
ignoreversion; Languages: english; Tasks: Test6;
Source: "\\Test\PUB\Install\Test7.exe"; DestDir: "{app}"; Flags: ignoreversion;         
Languages: english; Tasks: Test7;

[RUN]
Filename: {sys}\net.exe; \
     Parameters: "use I: \\Test\PUB /user:administrator /PERSISTENT:YES"; \    
     Tasks: MapDrive;
Filename: {sys}\net.exe; \
    Parameters: "use H: \\Test\SYS /user:administrator /PERSISTENT:YES"; \
    Tasks: MapDrive;
Filename: "{userdesktop}\Test.exe"; Flags: runascurrentuser; Tasks: Test;
Filename: "{userdesktop}\Test2.exe"; Flags: runascurrentuser; Tasks: Test2;
Filename: "{userdesktop}\Test3.msi"; Flags:  
runascurrentuser; Tasks: Test3;
Filename: "{userdesktop}\Test4.msi"; Flags: runascurrentuser; Tasks: Test4;
Filename: "{userdesktop}\Test5.msi"; Flags: runascurrentuser; Tasks: Test5;
Filename: "{userdesktop}\Test6.exe"; Flags: runascurrentuser; Tasks: Test6;
Filename: "{userdesktop}\Test7.exe"; Flags: runascurrentuser; Tasks: Test7;

답변

3 MartinPrikryl Jan 08 2021 at 23:03

오류는 네트워크 위치와 관련이 없습니다. C:\에서 참조하고 있습니다 DefaultDirName.

이 오류 메시지에 대한 일반적인 설명은 다음을 참조하십시오.
USB 드라이브 루트에 설치할 때 Inno Setup 오류 : "드라이브 문자와 함께 전체 경로를 입력해야합니다."

USB 드라이브 루트에 설치하지 않지만. C:루트 드라이브 에 설치하려고 합니다. 그건 틀렸어요. C:루트에 아무것도 설치하지 마십시오 .

설치 프로그램이 실제로 자체적으로 실제 파일을 설치하지 않는다는 것을 알고 있습니다. 그런 다음 CreateAppDir및 다음 Uninstallable을 모두 설정해야 합니다 no.

[Setup]
CreateAppDir=no
Uninstallable=no

그리고 하위 설치 프로그램 {tmp}은 {app}.

Inno Setup UI를 자동 추출기로만 사용-설치 없음을 참조하십시오 .