|
Answer» I have installation files creation in NullSoft system 2.46. (*.EXE files are storage in http://www.zetrozet.com/index.php?load=downtbl&modul=ucto15)
At starting from Windows 32-bit location, from Windows 64-bit location or from 16-bit location application below DosBox in Windows 64-bit location working totally correct.
At initiation from 16-bit location application in Windows 32-bit location working incorrect: 1) proper are unpacking insertion files 2) proper is generating and initiation batch-file 3) UFAND.EXE, that is to be initiation batch file, yet initiation isn't. Instead write out report "type 'exit' to return to FAND". (FAND.EXE, UFAND.EXE is 16-bit location programming language Czech rise.)
For easier determination causes mistaken behaviour stoking NullSoft script, from that is of perceptible and way generation batch file
Code: [Select]!include MUI.nsh ; INST2015.nsi ; Tento skript nainstaluje INST2015.nsi do adresß°e, kterř si u×ivatel zvolÝ ;-------------------------------- !include MUI2.nsh !define MUI_ABORTWARNING !define Datum "27.07.2015" !define DatumCas "27.07.2015 17:29" !define Rok "2015" !include MultiUser.nsh !define MUI_UNICON "zetro20.ico" !define MUI_WELCOMEFINISHPAGE_BITMAP "welcome6.bmp" !define MUI_HEADERIMAGE_BITMAP "header1.bmp" !define MULTIUSER_EXECUTIONLEVEL Highest !insertmacro MUI_PAGE_WELCOME !define MUI_TEXT_WELCOME_INFO_TITLE "VÝtejte v pr¨vodci instalacÝ programu$\r$\n$\t$(^NameDA)" !define MUI_TEXT_WELCOME_INFO_TEXT "$\tP°ed zaŔßtkem instalace se doporuŔuje ukonŔit vÜechny ostatnÝ programy. TÝm umo×nÝte aktualizaci systÚmovřch soubor¨ bez pot°eby restartovßnÝ vaÜeho poŔÝtaŔe.$\r$\n$\r$\n$_CLICK$\r$\n$\r$\n$\r$\n$\r$\n$\r$\n$\r$\nVytvo°eno dne ${DatumCas}$\r$\n$\r$\nę Zdenýk TrunýŔek, Zet-Ro-Zet, BeneÜov nad PlouŔnicÝ" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !define MUI_FINISHPAGE_CANCEL_ENABLED true !define MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES true !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !define MUI_FINISHUNPAGE_CANCEL_ENABLED true !define MUI_FINISHUNPAGE_CANCEL_ENABLED_VARIABLES true !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_LANGUAGE "Czech_www" !include FileFunc.nsh !include WordFunc.nsh !include WinMessages.nsh !insertmacro WordReplace !insertmacro Un.WordReplace var /GLOBAL outfile BGGradient 0088FF 663366 notext BrandingText /TRIMRIGHT "ę Zdenýk TrunýŔek Zet-Ro-Zet, BeneÜov nad PlouŔnicÝ" RequestExecutionLevel highest XPStyle on AllowRootDirInstall false Icon "G:\I_U2015\{tisk}\zetro20.ico" OutFile KURZY32.EXE Function .onGUIInit2 ${GetExeName} $R0 ${GetExePath} $R1 StrLen $R3 $R1 StrCpy $R1 $R0 -$R3 StrCpy $outfile $R1 "" 1 StrLen $1 $outfile StrCpy $0 $EXEPATH -$1 StrCpy $0 $0 -1 StrCpy $2 $0 "" -6 StrCmp $2 "{wwww}" wwww nowwww wwww: StrCpy $InstDir $0 -7 GetFullPathName /SHORT $0 $INSTDIR StrCpy $INSTDIR $0 goto wwwwend nowwww: GetFullPathName /SHORT $0 $INSTDIR StrCpy $INSTDIR $0 wwwwend: StrLen $3 $TEMP StrCpy $4 $EXEPATH $3 StrCmp $4 $TEMP 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $DESKTOP StrCpy $4 $EXEPATH $3 StrCmp $4 $DESKTOP 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $WINDIR StrCpy $4 $EXEPATH $3 StrCmp $4 $WINDIR 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $INTERNET_CACHE StrCpy $4 $EXEPATH $3 StrCmp $4 $INTERNET_CACHE 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $PROFILE StrCpy $4 $EXEPATH $3 StrCmp $4 $PROFILE 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend GetFullPathName /SHORT $3 $INSTDIR GetFullPathName $4 $INSTDIR StrCmp $4 $3 +2 StrCpy $InstDir "C:\UCTO2015" instend: GetFullPathName /SHORT $0 $INSTDIR StrCpy $INSTDIR $0 StrCpy $R9 "Instalace byla zruÜena u×ivatelem." FunctionEnd Name "$\"32 - Kurzy, prßce s cizÝmi mýnami$\"" Function .onVerifyInstDir !insertmacro MUI_HEADER_TEXT "$\"32-Kurzy, prßce s cizÝmi mýnami$\" - vytvo°en dne 27.07.2015" "ę Zdenýk TrunýŔek - modul pro -Ŕto2015 firmy Tichř && spol. Novř Bor" IfFileExists $INSTDIR\UFAND.EXE +1 ErrPathName IfFileExists $INSTDIR\UCTO2015.CAT +1 ErrPathName GetFullPathName /SHORT $9 $INSTDIR GetFullPathName $8 $INSTDIR StrCmp $9 $8 OkPathName MessageBox MB_Ok "Vybranř adresß° obsahuje komponenty programu -Ŕto2015.$\n$\nToto -Ŕto ale nenÝ mo×no spouÜtýt, proto×e nßzev adresß°e nespl˛uje kriteria nezbytnß pro 16-bitovÚ systÚmy DOS." ErrPathName: Abort OkPathName: FunctionEnd Page Directory DirText "Nainstaluje modul $\"32 - Kurzy-cizÝ mýny$\" a spustÝ napojovßnÝ modulu na -Ŕto2015$\n$\nNenÝ-li p°ÝstupnÚ tlaŔÝtko $\"Instalovat$\", vyhledejte adresß°, kde se nachßzÝ -Ŕto 2015.$\nPro instalaci nelze vybrat adresß° nespl˛ujÝcÝ kriteria DOSu. (-Ŕto umÝstýnÚ v takovÚm adresß°i nelze spouÜtýt.)" "K vyhledßnÝ adresß°e pro instalaci pou×ijte tlaŔÝtko $\"Prochßzet$\"" Function .onInit var /GLOBAL Ok64 Push "0" Pop $Ok64 ${if} $COMMONFILES64 != $COMMONFILES Push "1" Pop $Ok64 ${endif} call .onGUIInit2 !insertmacro MULTIUSER_INIT FunctionEnd InstallDir $INSTDIR Function StartMenuGroupSelect !insertmacro MUI_HEADER_TEXT "$\"32-Kurzy, prßce s cizÝmi mýnami$\" - vytvo°en dne 27.07.2015" "ę Zdenýk TrunýŔek - modul pro -Ŕto2015 firmy Tichř && spol. Novř Bor" MessageBox MB_YESNO "PokraŔovat instalacÝ modulu $\"32 - Kurzy-cizÝ mýny$\"" IDNO done IDYES success # use default success: GoTo konec
done: Abort "Instalace byla p°edŔasný ukonŔena u×ivatelem" Konec: FunctionEnd
Function SpusteneUcto IfFileExists $INSTDIR\FANDWORK.??? +1 +2 Delete $INSTDIR\FANDWORK.??? IfFileExists $INSTDIR\FANDWORK.??? +1 pokracuj3 MessageBox MB_RETRYCANCEL "-cto je asi spuÜtýno. $\n$\nPro pokraŔovßnÝ instalace je t°eba ukonŔit -Ŕto a pak pokraŔovat v instalaci" IDRETRY Cekej IDCANCEL Konci Cekej: call SpusteneUcto GoTo pokracuj3 Konci: Abort "-Ŕto bylo spuÜtýno - instalace ukonŔena u×ivatelem" pokracuj3: FunctionEnd Function .OnGUIEnd MessageBox MB_OK $R9 FunctionEnd
Page instfiles VIProductVersion "2015.07.27.0" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "ProductName" "KURZY32.EXE " VIAddVersionKey /LANG=${LANG_CZECH_WWW} "ProductVersion" "modul pro -Ŕto 2015" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "Comments" "modul pro -Ŕto 2015" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "CompanyName" "Zdenýk TrunýŔek" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "Autor" "Zdenýk TrunýŔek" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "Publisher" "Zdenýk TrunýŔek" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "LegalTrademarks" "ę Zet-Ro-Zet" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "LegalCopyright" "ę Zdenýk TrunýŔek, Zet-Ro-Zet" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "FileDescription" "$\"32 - Kurzy-cizÝ mýny$\" pro -Ŕto 2015" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "FileVersion" "27.07.2015" Section call StartMenuGroupSelect ifAbort skip pokracuj2 pokracuj2: SetOutPath $INSTDIR Call SpusteneUcto ifAbort Skip File /r "G:\I_U2015\INST_ZET\*.*" ${if} $Ok64 = "1" GetFullPathName /SHORT $R9 $INSTDIR FileOpen $0 $INSTDIR\{DBX1}\NSISZET.CFG w FileWrite $0 "echo off" FileClose $0 FileOpen $0 $INSTDIR\{DBX1}\NSISZET.CFG a FileWrite $0 "echo off" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "CLS" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "IF EXIST $INSTDIR\{DBX1}\FANDWORK.$$$$$$ DEL $INSTDIR\{DBX1}\FANDWORK.$$$$$$" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "IF NOT EXIST $INSTDIR\{DBX1}\FANDWORK.$$$$$$ GOTO RUN" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "CLS" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "ECHO." FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "ECHO PROGRAM UCTO JIZ BEZI!" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "ECHO." FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "PAUSE" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "GOTO END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "cls" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":RUN" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set instdbox=on" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=80" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandwork=$R9\{dbx1}\" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandcfg=$R9\{dbx1}\" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "$R9\{dbx1}\numlock.exe" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandres=$R9\" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "rescan /all" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 3 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 20 2 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "$R9\ufand.exe $R9\inst_zet.rdb" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandwork=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandcfg=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandres=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "EXIT" FileClose $0 FileOpen $0 $INSTDIR\INST_Z64.BAT w FileWrite $0 "echo off" FileWriteByte $0 "13" FileWriteByte $0 "10" FileClose $0 FileOpen $0 $INSTDIR\INST_Z64.BAT a FileWrite $0 "echo off" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist STOP32.TXT GOTO NOSTOP" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del STOP32.TXT > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":NOSTOP" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "call {dbx1}\setdsk_i.bat" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if exist {dbx2}\stop del {dbx2}\stop" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist {tisk}\winprc64.exe goto ubox" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist INST_ZET.BAT goto noinstbat" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del INST_ZET.BAT > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":noinstbat" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ".\{tisk}\winprc64 -S=$\"{DBX1}\DOSBOX.EXE -exit -noconsole -conf {DBX1}\dosbox_z.cfg$\"" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist {DBX1}\NSISZET.CFG GOTO NONSISZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del {DBX1}\NSISZET.CFG > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":NONSISZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist INST_ZET.RDB GOTO NOINST_ZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del INST_ZET.??? > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "NOINST_ZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "GOTO END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":UBOX" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "{tisk}\caller {tisk}\ubox $$ {dbx2} 1000 500 utisk04.exe" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "{tisk}\caller {dbx1}\dosbox.exe -noconsole -conf {dbx1}\dosbox_z.cfg" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileClose $0 FileWriteByte $0 "13" FileWriteByte $0 "10" ExecWait "$R9\INST_Z64.BAT" ${endif} ${if} $Ok64 = "0" ClearErrors GetFullPathName /SHORT $R9 $INSTDIR FileOpen $0 $R9\INST_ZET.BAT w FileClose $0 FileOpen $0 $R9\INST_ZET.BAT a FileWrite $0 "mode con: cols=80 lines=25" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=80" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 3 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 20 3 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "$R9\UFAND.EXE $R9\INST_ZET.RDB" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "pause" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandwork=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandcfg=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandres=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileClose $0 IfFileExists $WINDIR\system32\cmd.exe +4 +1 Nop ExecWait "$R9\INST_ZET.BAT" GoTo +3 Nop ExecWait "$R9\INST_ZET.BAT" Nop ${endif} IfFileExists $R9\STOP32.TXT 0 +3 StrCpy $R9 "Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\n byla zruÜena u×ivatelem." GoTo skip Nop ${if} $Ok64 = "0" IfFileExists $R9\INST_ZET.BAT 0 +3 StrCpy $R9 "[64] Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\nse nezda°ila." GoTo skip Nop ${endif} ${if} $Ok64 = "1" IfFileExists $INSTDIR\{DBX1}\FANDWORK.$$$$$$ 0 +3 StrCpy $R9 "[64] Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\nse nezda°ila." GoTo skip Nop ${endif} Nop StrCpy $R9 "Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\nbyla dokonŔena." Delete $INSTDIR\INST_Z??.??? SetAutoClose true skip: quit SectionEnd What is the actual question that you have, and would like an answer for?
Quote from: trikolka on July 27, 2015, 02:49:45 PM I have installation files creation in NullSoft system 2.46. (*.EXE files are storage in http://www.zetrozet.com/index.php?load=downtbl&modul=ucto15)
At starting from Windows 32-bit location, from Windows 64-bit location or from 16-bit location application below DosBox in Windows 64-bit location working totally correct.
At initiation from 16-bit location application in Windows 32-bit location working incorrect: 1) proper are unpacking insertion files 2) proper is generating and initiation batch-file 3) UFAND.EXE, that is to be initiation batch file, yet initiation isn't. Instead write out report "type 'exit' to return to FAND". (FAND.EXE, UFAND.EXE is 16-bit location programming language Czech rise.)
Last testing - if you run the setup * .exe from 16-bit applications running on 32-bit Windows under DOSBox will the entire installation correctly. Because * .EXE installer detects the 32-bit Windows from Windows 64-bit, 16-bit triggers application (UFAND.EXE) outside DOSBox.
Menu, from which the 16-bit application installation starts * .EXE (or downloaded from the web and then triggers):
For easier determination causes mistaken behaviour stoking NullSoft script, from that is of perceptible and way generation batch file
Code: [Select]!include MUI.nsh ; INST2015.nsi ; Tento skript nainstaluje INST2015.nsi do adresß°e, kterř si u×ivatel zvolÝ ;-------------------------------- !include MUI2.nsh !define MUI_ABORTWARNING !define Datum "27.07.2015" !define DatumCas "27.07.2015 17:29" !define Rok "2015" !include MultiUser.nsh !define MUI_UNICON "zetro20.ico" !define MUI_WELCOMEFINISHPAGE_BITMAP "welcome6.bmp" !define MUI_HEADERIMAGE_BITMAP "header1.bmp" !define MULTIUSER_EXECUTIONLEVEL Highest !insertmacro MUI_PAGE_WELCOME !define MUI_TEXT_WELCOME_INFO_TITLE "VÝtejte v pr¨vodci instalacÝ programu$\r$\n$\t$(^NameDA)" !define MUI_TEXT_WELCOME_INFO_TEXT "$\tP°ed zaŔßtkem instalace se doporuŔuje ukonŔit vÜechny ostatnÝ programy. TÝm umo×nÝte aktualizaci systÚmovřch soubor¨ bez pot°eby restartovßnÝ vaÜeho poŔÝtaŔe.$\r$\n$\r$\n$_CLICK$\r$\n$\r$\n$\r$\n$\r$\n$\r$\n$\r$\nVytvo°eno dne ${DatumCas}$\r$\n$\r$\nę Zdenýk TrunýŔek, Zet-Ro-Zet, BeneÜov nad PlouŔnicÝ" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !define MUI_FINISHPAGE_CANCEL_ENABLED true !define MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES true !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !define MUI_FINISHUNPAGE_CANCEL_ENABLED true !define MUI_FINISHUNPAGE_CANCEL_ENABLED_VARIABLES true !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_LANGUAGE "Czech_www" !include FileFunc.nsh !include WordFunc.nsh !include WinMessages.nsh !insertmacro WordReplace !insertmacro Un.WordReplace var /GLOBAL outfile BGGradient 0088FF 663366 notext BrandingText /TRIMRIGHT "ę Zdenýk TrunýŔek Zet-Ro-Zet, BeneÜov nad PlouŔnicÝ" RequestExecutionLevel highest XPStyle on AllowRootDirInstall false Icon "G:\I_U2015\{tisk}\zetro20.ico" OutFile KURZY32.EXE Function .onGUIInit2 ${GetExeName} $R0 ${GetExePath} $R1 StrLen $R3 $R1 StrCpy $R1 $R0 -$R3 StrCpy $outfile $R1 "" 1 StrLen $1 $outfile StrCpy $0 $EXEPATH -$1 StrCpy $0 $0 -1 StrCpy $2 $0 "" -6 StrCmp $2 "{wwww}" wwww nowwww wwww: StrCpy $InstDir $0 -7 GetFullPathName /SHORT $0 $INSTDIR StrCpy $INSTDIR $0 goto wwwwend nowwww: GetFullPathName /SHORT $0 $INSTDIR StrCpy $INSTDIR $0 wwwwend: StrLen $3 $TEMP StrCpy $4 $EXEPATH $3 StrCmp $4 $TEMP 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $DESKTOP StrCpy $4 $EXEPATH $3 StrCmp $4 $DESKTOP 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $WINDIR StrCpy $4 $EXEPATH $3 StrCmp $4 $WINDIR 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $INTERNET_CACHE StrCpy $4 $EXEPATH $3 StrCmp $4 $INTERNET_CACHE 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend StrLen $3 $PROFILE StrCpy $4 $EXEPATH $3 StrCmp $4 $PROFILE 0 +3 StrCpy $InstDir "C:\UCTO2015" GoTo instend GetFullPathName /SHORT $3 $INSTDIR GetFullPathName $4 $INSTDIR StrCmp $4 $3 +2 StrCpy $InstDir "C:\UCTO2015" instend: GetFullPathName /SHORT $0 $INSTDIR StrCpy $INSTDIR $0 StrCpy $R9 "Instalace byla zruÜena u×ivatelem." FunctionEnd Name "$\"32 - Kurzy, prßce s cizÝmi mýnami$\"" Function .onVerifyInstDir !insertmacro MUI_HEADER_TEXT "$\"32-Kurzy, prßce s cizÝmi mýnami$\" - vytvo°en dne 27.07.2015" "ę Zdenýk TrunýŔek - modul pro -Ŕto2015 firmy Tichř && spol. Novř Bor" IfFileExists $INSTDIR\UFAND.EXE +1 ErrPathName IfFileExists $INSTDIR\UCTO2015.CAT +1 ErrPathName GetFullPathName /SHORT $9 $INSTDIR GetFullPathName $8 $INSTDIR StrCmp $9 $8 OkPathName MessageBox MB_Ok "Vybranř adresß° obsahuje komponenty programu -Ŕto2015.$\n$\nToto -Ŕto ale nenÝ mo×no spouÜtýt, proto×e nßzev adresß°e nespl˛uje kriteria nezbytnß pro 16-bitovÚ systÚmy DOS." ErrPathName: Abort OkPathName: FunctionEnd Page Directory DirText "Nainstaluje modul $\"32 - Kurzy-cizÝ mýny$\" a spustÝ napojovßnÝ modulu na -Ŕto2015$\n$\nNenÝ-li p°ÝstupnÚ tlaŔÝtko $\"Instalovat$\", vyhledejte adresß°, kde se nachßzÝ -Ŕto 2015.$\nPro instalaci nelze vybrat adresß° nespl˛ujÝcÝ kriteria DOSu. (-Ŕto umÝstýnÚ v takovÚm adresß°i nelze spouÜtýt.)" "K vyhledßnÝ adresß°e pro instalaci pou×ijte tlaŔÝtko $\"Prochßzet$\"" Function .onInit var /GLOBAL Ok64 Push "0" Pop $Ok64 ${if} $COMMONFILES64 != $COMMONFILES Push "1" Pop $Ok64 ${endif} call .onGUIInit2 !insertmacro MULTIUSER_INIT FunctionEnd InstallDir $INSTDIR Function StartMenuGroupSelect !insertmacro MUI_HEADER_TEXT "$\"32-Kurzy, prßce s cizÝmi mýnami$\" - vytvo°en dne 27.07.2015" "ę Zdenýk TrunýŔek - modul pro -Ŕto2015 firmy Tichř && spol. Novř Bor" MessageBox MB_YESNO "PokraŔovat instalacÝ modulu $\"32 - Kurzy-cizÝ mýny$\"" IDNO done IDYES success # use default success: GoTo konec
done: Abort "Instalace byla p°edŔasný ukonŔena u×ivatelem" Konec: FunctionEnd
Function SpusteneUcto IfFileExists $INSTDIR\FANDWORK.??? +1 +2 Delete $INSTDIR\FANDWORK.??? IfFileExists $INSTDIR\FANDWORK.??? +1 pokracuj3 MessageBox MB_RETRYCANCEL "-cto je asi spuÜtýno. $\n$\nPro pokraŔovßnÝ instalace je t°eba ukonŔit -Ŕto a pak pokraŔovat v instalaci" IDRETRY Cekej IDCANCEL Konci Cekej: call SpusteneUcto GoTo pokracuj3 Konci: Abort "-Ŕto bylo spuÜtýno - instalace ukonŔena u×ivatelem" pokracuj3: FunctionEnd Function .OnGUIEnd MessageBox MB_OK $R9 FunctionEnd
Page instfiles VIProductVersion "2015.07.27.0" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "ProductName" "KURZY32.EXE " VIAddVersionKey /LANG=${LANG_CZECH_WWW} "ProductVersion" "modul pro -Ŕto 2015" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "Comments" "modul pro -Ŕto 2015" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "CompanyName" "Zdenýk TrunýŔek" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "Autor" "Zdenýk TrunýŔek" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "Publisher" "Zdenýk TrunýŔek" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "LegalTrademarks" "ę Zet-Ro-Zet" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "LegalCopyright" "ę Zdenýk TrunýŔek, Zet-Ro-Zet" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "FileDescription" "$\"32 - Kurzy-cizÝ mýny$\" pro -Ŕto 2015" VIAddVersionKey /LANG=${LANG_CZECH_WWW} "FileVersion" "27.07.2015" Section call StartMenuGroupSelect ifAbort skip pokracuj2 pokracuj2: SetOutPath $INSTDIR Call SpusteneUcto ifAbort Skip File /r "G:\I_U2015\INST_ZET\*.*" ${if} $Ok64 = "1" GetFullPathName /SHORT $R9 $INSTDIR FileOpen $0 $INSTDIR\{DBX1}\NSISZET.CFG w FileWrite $0 "echo off" FileClose $0 FileOpen $0 $INSTDIR\{DBX1}\NSISZET.CFG a FileWrite $0 "echo off" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "cls" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "IF EXIST $INSTDIR\{DBX1}\FANDWORK.$$$$$$ DEL $INSTDIR\{DBX1}\FANDWORK.$$$$$$" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "IF NOT EXIST $INSTDIR\{DBX1}\FANDWORK.$$$$$$ GOTO RUN" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "CLS" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "ECHO." FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "ECHO PROGRAM UCTO JIZ BEZI!" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "ECHO." FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "PAUSE" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "GOTO END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "cls" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":RUN" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set instdbox=on" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=80" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandwork=$R9\{dbx1}\" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandcfg=$R9\{dbx1}\" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "$R9\{dbx1}\numlock.exe" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandres=$R9\" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "rescan /all" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 3 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 20 2 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "$R9\ufand.exe $R9\inst_zet.rdb" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandwork=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandcfg=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandres=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "EXIT" FileClose $0 FileOpen $0 $INSTDIR\INST_Z64.BAT w FileWrite $0 "echo off" FileWriteByte $0 "13" FileWriteByte $0 "10" FileClose $0 FileOpen $0 $INSTDIR\INST_Z64.BAT a FileWrite $0 "echo off" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist STOP32.TXT GOTO NOSTOP" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del STOP32.TXT > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":NOSTOP" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "call {dbx1}\setdsk_i.bat" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if exist {dbx2}\stop del {dbx2}\stop" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist {tisk}\winprc64.exe goto ubox" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist INST_ZET.BAT goto noinstbat" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del INST_ZET.BAT > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":noinstbat" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ".\{tisk}\winprc64 -S=$\"{DBX1}\DOSBOX.EXE -exit -noconsole -conf {DBX1}\dosbox_z.cfg$\"" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist {DBX1}\NSISZET.CFG GOTO NONSISZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del {DBX1}\NSISZET.CFG > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":NONSISZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "if not exist INST_ZET.RDB GOTO NOINST_ZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "del INST_ZET.??? > nul" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "NOINST_ZET" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "GOTO END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":UBOX" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "{tisk}\caller {tisk}\ubox $$ {dbx2} 1000 500 utisk04.exe" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "{tisk}\caller {dbx1}\dosbox.exe -noconsole -conf {dbx1}\dosbox_z.cfg" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 ":END" FileWriteByte $0 "13" FileWriteByte $0 "10" FileClose $0 FileWriteByte $0 "13" FileWriteByte $0 "10" ExecWait "$R9\INST_Z64.BAT" ${endif} ${if} $Ok64 = "0" ClearErrors GetFullPathName /SHORT $R9 $INSTDIR FileOpen $0 $R9\INST_ZET.BAT w FileClose $0 FileOpen $0 $R9\INST_ZET.BAT a FileWrite $0 "mode con: cols=80 lines=25" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=80" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 3 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" StrCpy $1 $R9 20 3 FileWrite $0 "cd $1" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "$R9\UFAND.EXE $R9\INST_ZET.RDB" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "pause" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandovrb=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandwork=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandcfg=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileWrite $0 "set fandres=" FileWriteByte $0 "13" FileWriteByte $0 "10" FileClose $0 IfFileExists $WINDIR\system32\cmd.exe +4 +1 Nop ExecWait "$R9\INST_ZET.BAT" GoTo +3 Nop ExecWait "$R9\INST_ZET.BAT" Nop ${endif} IfFileExists $R9\STOP32.TXT 0 +3 StrCpy $R9 "Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\n byla zruÜena u×ivatelem." GoTo skip Nop ${if} $Ok64 = "0" IfFileExists $R9\INST_ZET.BAT 0 +3 StrCpy $R9 "[64] Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\nse nezda°ila." GoTo skip Nop ${endif} ${if} $Ok64 = "1" IfFileExists $INSTDIR\{DBX1}\FANDWORK.$$$$$$ 0 +3 StrCpy $R9 "[64] Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\nse nezda°ila." GoTo skip Nop ${endif} Nop StrCpy $R9 "Instalace modulu $\n$\"32-Kurzy, prßce s cizÝmi mýnami$\" (vytvo°enÚho dne 27.07.2015)$\nbyla dokonŔena." Delete $INSTDIR\INST_Z??.??? SetAutoClose true skip: quit SectionEnd
[attachment deleted by admin to conserve space]
Quote from: foxidrive on July 28, 2015, 01:14:25 AMWhat is the actual question that you have, and would like an answer for?
Question - why when you start the installation of 16-bit applications running on Windows 32-bit installation does not correctly.
Quote from: trikolka on July 28, 2015, 01:31:06 AMQuestion - why when you start the installation of 16-bit applications running on Windows 32-bit installation does not correctly.
To repeat the problem, you have a 16 bit application and it is not installing properly on a 32 bit version of windows.
What happens that is wrong when you install it in a 32 bit Windows? You SAID that there is a prompt on the screen - is a batch file running and the batch file is not doing the right thing?
Or is the problem in the NullSoft script?
In your screenshot you are showing Dosbox, and I don't see how that ties in with the question.1) When the update * .EXE running on 32-bit Windows, from Windows 64-bit or 16-bit application under DOSBox is working quite correctly. (When you start a Windows 64-bit, you start a 16-bit installer under DOSBox)
2) When the update * .EXE running on the same 16-bit applications under Windows 32-bit, will be a correct unpack the attached file is executed correctly generated * .BAT file, but instead run the 16-bit update program (UFAND.EXE) batch issues souvor message "type 'exit' to return to Fand".
3) NullSoft script is included because it includes creating batch files to run under DOSBox or outside of DOSBox.
4) Picture illustrates that the choice of 16-bit applications update file is called and executed. Is the same if 16-bit applications running under DOSBox or under Ntvdm Windows 32-bit.
1) When the update * .EXE running on 32-bit Windows, from Windows 64-bit or 16-bit application under DOSBox is working quite correctly. (When you start a Windows 64-bit, you start a 16-bit installer under DOSBox)
2) When the update * .EXE running on the same 16-bit applications under Windows 32-bit, will be a correct unpack the attached file is executed correctly generated * .BAT file, but instead run the 16-bit update program (UFAND.EXE) batch issues souvor message "type 'exit' to return to Fand".
3) NullSoft script is included because it includes creating batch files to run under DOSBox or outside of DOSBox.
4) Picture illustrates that the choice of 16-bit applications update file is called and executed. Is the same if 16-bit applications running under DOSBox or under Ntvdm Windows 32-bit.
5) If you want to test the behavior of the program is: a) the need to install software from u15_cd.exe www.ucto2000.cz/download.htm (as a demo without requiring a license). b) install the program from an external MODULE www.zetrozet.com/index.php?load=downtbl&modul=ucto15 example KURZY32.EXE (license data must be filled, you can enter any nonsense). c) then you can try the difference behavior when updating an external module running KURZY32.EXE of Windows 32-bit or by calling the open program option according to the previously inserted picture. d) If the program runs with U64.BAT place U.BAT, will be in 32-bit Windows running under DOSBox. In this case, the updated external module is updated correctly. (The program is designed to tax records according to Czech law, because it is only in Czech.)
Quote from: trikolka on July 28, 2015, 06:46:14 AM2) When the update * .EXE running on the same 16-bit applications under Windows 32-bit, will be a correct unpack the attached file is executed correctly generated * .BAT file, but instead run the 16-bit update program (UFAND.EXE) batch issues souvor message "type 'exit' to return to Fand".
I understand that your mother tongue is not English, but you have included several things that confuse the question.
- You are using Dosbox somehow and not just Windows 32 bit
- You're including some kind of file manager by the look of it, as the message type 'exit' to return to Fand usually indicates that a file manager shell is running.
- There is the Nullsoft aspect and a batch script, and we'd need to see the batch script.
1) The error occurs only when you run the update file from 16-bit applications on 32-bit Windows.
2) batch file for Windows 32-bit attach, it generates an installer according to user-selected directory. Because of the search for the cause was tried, the error manifests itself in exactly the same way, even if the row triggering UFAND.EXE not specify parameter. The procedure of generating the batch file is written line by line in the previously attached NullSoft script.
Code: [Select]mode con: cols=80 lines=25 set fandovrb=80 set fandwork=D:\OVER2015\ set fandcfg=D:\OVER2015\ set fandres=D:\OVER2015\ cd D:\ cd OVER2015 D:\OVER2015\UFAND.EXE D:\OVER2015\INST_ZET.RDB set fandovrb= set fandwork= set fandcfg= set fandres=
3) Users installer sets accounting program run under DOSBox only in 64-bit Windows. Use DOSBox in Windows 32-bit installer program does not adjust. I myself run a program under DOSBox used solely for the purpose of testing the conditions under which the error occurs.
I apologize for the English, I learned it only half a year in 1968, so now I use different compiler.This will solve a problem when the target folder contains a space or an & character etc and simplifies it a little but if you are using non-latin characters then that can be an issue as the codepage may need to be changed.
It assumes that UFAND.EXE is capable of using long filenames
Code: [Select]mode con: cols=80 lines=25 set "fandovrb=80" set "folder=D:\OVER2015\" for %%a in (fandwork fandcfg fandres) do set "%%a=%folder%" cd /d "%folder%" UFAND.EXE "%folder%\INST_ZET.RDB" for %%a in (fandwork fandcfg fandres fandovrb) do set "%%a="
Your problem can be in the Nullsoft script, which is not short and simple and I'm not familiar with the scripting language so somebody else may check that for you,
Or it could be in the UFAND.EXE program and it fails in some way, when used in the way you are using it.
and your use of Dosbox is complicating this - as the exact environment this is task is being run in is not clear.
Quote1) When the update * .EXE running on 32-bit Windows, from Windows 64-bit or 16-bit application under DOSBox is working quite correctly. (When you start a Windows 64-bit, you start a 16-bit installer under DOSBox)
I do not think the above e is w an accurate statement, nor does it represent areal problem in the real world.
It is not just my opinion, but the advice if many others that 16 bit program should not run on a MODERN computer if it can be avoided.
Commercial and Industrial users who depend on 16 bit programs buy older equipment and maintain it for use on their in-house projects. This is more cost-effective.
To illustrate. An experienced tech can assembly a legacy computer for old or surplus materials inside of a week. But a good programmer could spend weeks trying to GET an legacy 16 bit program to work a modern computer. legacy computers: http://www.makeuseof.com/tag/3-online-sources-finding-buying-computer-parts/ 1) I can not pick and choose which computer users will run the accounting program, the ten million Czech Republic it is still used by tens of thousands of accounts. I just am creating this program, additional modules and the authors of that accounting software to interact leave.
2) The attached NullSoft script contains the installation in Windows 32-bit control directories and convert them to DOS-names.
3) When searching for the cause of the error has been tested as a batch file, which contained the single word "UFAND". The result was the same - when starting from the choice of accounting software in Windows 32-bit error, when other methods of lowering correct commissioning.There is a massive language barrier that I doubt will be particularly easy to permeate here.Your proposed text batch file was successful.
[attachment deleted by admin to conserve space]If choosing the 16-bit program, download the installer from the web-site and choosing the 16-bit program, then run crashes shown attached picture. If the setup option in 16-bit only download a program, but run from explorer or Totalcommnder held the entire installation correctly. The batch file generated NullSoft script in both cases is absolutely identical. NullSoft script checks the 16-bit program and batch file starts to generate up if the program is ended.
|