gr11x, on Nov 4 2008, 12:47 PM, said:
...An unexpected error occurred while installing this package.
Possibly this is a package-related problem.
The error code is 2728...
This problem has been described last august in post #217, but no solution yet. I've done this:
EDIT: Solution here has been superseded by the one in Silent .NET Maker synthesized
The changes applies on the original script:
- Right after this line:
IF EXIST _SNM.ini FOR /F "DELIMS=" %%I IN ('FINDSTR/R "=" _SNM.ini') DO SET %%I
I've inserted this:
IF "%PROCESS_DNF35%"=="YES" IF EXIST dotnetfx35.exe (
IF NOT EXIST FILEVER.VBS (
ECHO>>FILEVER.VBS Set objFSO = CreateObject^("Scripting.FileSystemObject"^)
ECHO>>FILEVER.VBS Wscript.Echo objFSO.GetFileVersion^(WScript.arguments^(0^)^)
)
IF EXIST dotnetfx35langpack_x86*.exe (
IF "%PROCESS_DNF2%"=="YES" IF "%PROCESS_DNF2_LNG%"=="YES" IF EXIST NetFx20SP1_x86.exe IF EXIST NetFx20SP1_x86*.exe SET PROCESSING20SP1LNG=1
IF "%PROCESS_DNF2_LNG%"=="YES" IF NOT DEFINED PROCESSING20SP1LNG SET PROCESS_DNF35_LNGEXE=YES
IF NOT "%MERGE_FRAMEWORKS%"=="12" IF "%PROCESS_DNF3_LNG%"=="YES" SET PROCESS_DNF35_LNGEXE=YES&IF "%PROCESS_DNF35_LNG%"=="YES" SET PROCESS_DNF35_LNGEXE=YES
IF DEFINED PROCESS_DNF35_LNGEXE (
FOR /F %%I IN ('DIR/B dotnetfx35langpack_x86*.exe') DO (
IF DEFINED LOOP ECHO ERROR: Too many dotnetfx35langpack_x86*.exe files to process in the work folder.&PAUSE&EXIT
FOR /F %%J IN ('CSCRIPT //NOLOGO filever.vbs %%I') DO FOR /F %%K IN ('CSCRIPT //NOLOGO filever.vbs dotnetfx35.exe') DO (
IF "%%J"=="%%K" (
IF "%%J"=="3.5.30729.1" SET DNF35VER=3.5 SP1&SET DNF30VER=3.0 SP2&SET DNF20VER=2.0 SP2
IF "%%J"=="3.5.21022.8" SET DNF35VER=3.5&SET DNF30VER=3.0 SP1&SET DNF20VER=2.0 SP1
) ELSE ECHO ERROR: dotnetfx35.exe - %%I version mismatch&PAUSE&EXIT
)
SET LOOP=1
)
)
) ELSE FOR /F %%J IN ('CSCRIPT //NOLOGO filever.vbs dotnetfx35.exe') DO (
IF "%%J"=="3.5.30729.1" SET DNF35VER=3.5 SP1&SET DNF30VER=3.0 SP2&SET DNF20VER=2.0 SP2
IF "%%J"=="3.5.21022.8" SET DNF35VER=3.5&SET DNF30VER=3.0 SP1&SET DNF20VER=2.0 SP1
)
)
IF "%PROCESS_DNF2%"=="YES" IF EXIST NetFx20SP1_x86.exe (
IF "%DNF20VER%"=="2.0 SP2" (ECHO ERROR: Too many .NET 2.0 versions to process - SP1 in NetFx20SP1_x86.exe and SP2 in dotnetfx35.exe.&PAUSE&EXIT) ELSE SET DNF20VER=SP1
)
SET LOOP=
IF EXIST NetFx20SP1_x86*.exe FOR /F %%I IN ('DIR/B NetFx20SP1_x86*.exe') DO IF NOT "%%I"=="NetFx20SP1_x86.exe" (
IF DEFINED LOOP ECHO ERROR: Too many NetFx20SP1_x86*.exe langpacks to process in the work folder.&PAUSE&EXIT
SET LOOP=1
)
- I've substituted all the strings of the form "LNGSTR=_" without the quotes, with "LNGSTR=" without the quotes, and...
this line:
SET SSIP=1&ECHO Processing .NET 2.0 installer...&CALL :TMPCOUNT
with this other:
SET SSIP=1&ECHO Processing .NET %DNF20VER% installer...&CALL :TMPCOUNT
this line:
SET SSIP=1&ECHO Processing custom .NET 3.0 admin install...
with this other:
SET SSIP=1&ECHO Processing custom .NET %DNF30VER% admin install...
this line:
SET SSIP=1&ECHO Processing custom .NET 3.5 admin install...
with this other:
SET SSIP=1&ECHO Processing custom .NET %DNF35VER% admin install...
this line:
SET SSIP=1&ECHO Processing .NET 3.5 installer...&CALL :TMPCOUNT
with this other:
SET SSIP=1&ECHO Processing .NET %DNF35VER% installer...&CALL :TMPCOUNT
these lines:
IF "%MERGE_FRAMEWORKS%"=="12" (
ECHO Creating merged .NET 1.1 and 2.0 SP1 installer...&SET NAME=DNF11_20&SET FLD=DNF&CALL :EXEMAKER
) ELSE IF "%MERGE_FRAMEWORKS%"=="FULL" (
ECHO Creating merged .NET installer...&SET NAME=DNF_all&SET FLD=DNF&CALL :EXEMAKER
) ELSE (
IF EXIST DNF1 (ECHO Creating silent .NET 1.1 installer...&SET NAME=DNF11%DNF11LNGSTR%&SET FLD=DNF1&CALL :EXEMAKER)
IF EXIST DNF2 (ECHO Creating silent .NET 2.0 SP1 installer...&SET NAME=DNF20%DNF20LNGSTR%&SET FLD=DNF2&CALL :EXEMAKER)
IF EXIST DNF3 (ECHO Creating silent .NET 3.0 SP1 installer...&SET NAME=DNF30%DNF30LNGSTR%&SET FLD=DNF3&CALL :EXEMAKER)
IF EXIST DNF35 (ECHO Creating silent .NET 3.5 installer...&SET NAME=DNF35&SET FLD=DNF35&CALL :EXEMAKER)
)
with these others:
IF "%MERGE_FRAMEWORKS%"=="12" (
ECHO Creating merged .NET 1.1 %DNF11LNGSTR% and %DNF20VER% %DNF20LNGSTR% installer...&SET NAME=DNF11%DNF11LNGSTR%20%DNF20VER:~-3%%DNF20LNGSTR%&SET FLD=DNF&CALL :EXEMAKER
) ELSE IF "%MERGE_FRAMEWORKS%"=="FULL" (
ECHO Creating merged .NET 1.1 %DNF11LNGSTR%, %DNF20VER% %DNF20LNGSTR%, %DNF30VER% %DNF30LNGSTR% and %DNF35VER% %DNF35LNGSTR% installer...&SET NAME=DNF11%DNF11LNGSTR%20%DNF20VER:~-3%%DNF20LNGSTR%30%DNF30VER:~-3%%DNF30LNGSTR%35%DNF35VER:~-3%%DNF35LNGSTR%&SET FLD=DNF&CALL :EXEMAKER
) ELSE (
IF EXIST DNF1 (ECHO Creating silent .NET 1.1 installer...&SET NAME=DNF11%DNF11LNGSTR%&SET FLD=DNF1&CALL :EXEMAKER)
IF EXIST DNF2 (ECHO Creating silent .NET %DNF20VER% installer...&SET NAME=DNF20%DNF20VER:~-3%%DNF20LNGSTR%&SET FLD=DNF2&CALL :EXEMAKER)
IF EXIST DNF3 (ECHO Creating silent .NET %DNF30VER% installer...&SET NAME=DNF30%DNF30VER:~-3%%DNF30LNGSTR%&SET FLD=DNF3&CALL :EXEMAKER)
IF EXIST DNF35 (ECHO Creating silent .NET %DNF35VER% installer...&SET NAME=DNF35%DNF35VER:~-3%%DNF35LNGSTR%&SET FLD=DNF35&CALL :EXEMAKER)
)
and these lines:
START/WAIT MSIEXEC /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" TARGETDIR="!TMPDIR!\ADMIN30A_LNG" /qb
START/WAIT MSIEXEC /a "!TMPDIR!\ADMIN30A_LNG\netfx30lpa_x86.msi" TARGETDIR="!DNF3DIR!DNF30\LNG" /qb
FOR /F %%I IN ('DIR/B/ON "!TMPDIR!\LNGEXT\netfx30lp\*.msp"') DO (
START/WAIT MSIEXEC /p "!TMPDIR!\LNGEXT\netfx30lp\%%I" /a "!DNF3DIR!DNF30\LNG\netfx30lpa_x86.msi" /qb
)
with these others:
IF "%DNF35VER%"=="3.5" (
START/WAIT MSIEXEC /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" TARGETDIR="!TMPDIR!\ADMIN30A_LNG" /qb
START/WAIT MSIEXEC /a "!TMPDIR!\ADMIN30A_LNG\netfx30lpa_x86.msi" TARGETDIR="!DNF3DIR!DNF30\LNG" /qb
FOR /F %%I IN ('DIR/B/ON "!TMPDIR!\LNGEXT\netfx30lp\*.msp"') DO START/WAIT MSIEXEC /p "!TMPDIR!\LNGEXT\netfx30lp\%%I" /a "!DNF3DIR!DNF30\LNG\netfx30lpa_x86.msi" /qb
)
IF "%DNF35VER%"=="3.5 SP1" (
FOR /F %%I IN ('DIR/B/ON "!TMPDIR!\LNGEXT\netfx30lp\*.msp"') DO START/WAIT MSIEXEC /p "!TMPDIR!\LNGEXT\netfx30lp\%%I" /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" /qb
START/WAIT MSIEXEC /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" TARGETDIR="!DNF3DIR!DNF30\LNG" /qb
)
And there you have it. Now I'm gonna combine this with the synthesized version.
This post has been edited by strel: 25 December 2008 - 07:50 PM