home *** CD-ROM | disk | FTP | other *** search
/ Online Praxis 1997 March / OP2_97.BIN / cd-rom / treiber / diamond / wnt / rasnce1.exe / rar / OEMSETUP.INF < prev    next >
Windows Setup INFormation  |  1997-04-18  |  42KB  |  1,327 lines

  1. ;//***********************************************************************
  2. ;//
  3. ;// ISDN for NT
  4. ;//
  5. ;// ACOTEC ISDN RasCapi software setup
  6. ;//
  7. ;//    Copyright (C) ACOTEC GmbH, Berlin 1995 - 1996
  8. ;//
  9. ;//   Version 3.0 for Windows NT 3.51 (4.0)
  10. ;//
  11. ;//***********************************************************************
  12.  
  13. [Version]
  14.     3.0
  15.  
  16. [PrintParms]
  17.     FALSE
  18. ;    TRUE
  19.  
  20. ;//-----------------------------------------------------------------------
  21. ;// OPTION TYPE
  22. ;// -----------
  23. ;// This identifies the Option type we are dealing with.  The different
  24. ;// possible types are:
  25. ;//
  26. ;// COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  27. ;//
  28. ;//  Types specific to networking:
  29. ;//
  30. ;// NetAdapter,        a netcard / adapter combination or just a netcard
  31. ;// NetDriver,         just a netcard driver
  32. ;// NetTransport,      a complete NDIS-compliant TDI transport stack
  33. ;// NetService,        an NT networking service
  34. ;// NetWork,           a complete network ensemble.
  35. ;// NetProvider        a complete network which supports NT MPR protocol
  36. ;//-----------------------------------------------------------------------
  37.  
  38. [Identification]
  39.     OptionType = NetAdapter
  40. ;    OptionType = NetService
  41.  
  42. ;//-----------------------------------------------------------------------
  43. ;// PlatformsSupported
  44. ;// ------------------
  45. ;// This identifies the platforms supported by the adapter card.
  46. ;// Possible types are:
  47. ;//
  48. ;// ISA, EISA, MCA ...
  49. ;//
  50. ;// Cause we don't access the hardware directly we accept any platform
  51. ;//
  52. ;//-----------------------------------------------------------------------
  53.  
  54. [PlatformsSupported]
  55.   ANY
  56.  
  57. ;//-----------------------------------------------------------------------
  58. ;// LanguagesSupported
  59. ;// ------------------
  60. ;// This identifies the languages supported by this inf file.
  61. ;// As long as NT supports only "ENG" and expects the national text versions
  62. ;// under the "ENG" topic we must hardwire the preferred language here
  63. ;//
  64. ;//-----------------------------------------------------------------------
  65.  
  66. [LanguagesSupported]
  67.     ENG
  68.     GER
  69.  
  70. [PreferredLanguage]
  71.     Language = GER
  72.  
  73. ;//-----------------------------------------------------------------------
  74. ;// OPTION LIST
  75. ;// -----------
  76. ;// This section lists the OEM Option key names.  These keys are locale
  77. ;// independent and used to represent the option in a locale independent
  78. ;// manner.
  79. ;//
  80. ;//-----------------------------------------------------------------------
  81.  
  82. [Options]
  83.     AcoRas        0
  84.  
  85. [OptionsTextGER]
  86.     AcoRas        = "ACOTEC ISDN RASCAPI Treiber"
  87.  
  88. [OptionsTextENG]
  89.     AcoRas        = "ACOTEC ISDN RASCAPI driver"
  90.  
  91. [Source Media Descriptions]
  92.     1 = "ACOTEC ISDN RASCAPI driver diskette" , TAGFILE = RasDisk1.TAG
  93.  
  94. [FileConstantsGER]
  95.     SoftwareDescription    = "ACOTEC ISDN RASCAPI Treiber"
  96.     SoftwareTitle        = "ACOTEC ISDN RASCAPI Treiber"
  97.     FunctionTitle        = "ACOTEC ISDN RASCAPI Treibereinrichtung"
  98.     ShellCodeErrorTitle    = "Fehler: "$(FunctionTitle)
  99.     ShellCodeErrorText    = "Shell-Codefehler"
  100.     HardwareTitle        = $(SoftwareTitle)
  101.     HardwareDescription    = $(SoftwareDescription)
  102.  
  103. ;// This constants are relevant for a file copybox
  104.     ProCaption   = $(SoftwareTitle)" Setup"
  105.     ProCancel    = "Abbrechen"
  106.     ProCancelMsg = "Sind Sie sicher, da▀ Sie das Kopieren der Dateien abbrechen m÷chten? "+
  107.      "Wenn Sie jetzt abbrechen, wurde der "$(SoftwareTitle)" unvollstΣndig installiert. "+
  108.      "Bereits installierte Komponenten werden wieder entfernt."
  109.     ProCancelCap = "Meldung zum Acotec RASCAPI Setup"
  110.     ProText1     = "Kopiert:"
  111.     ProText2     = "Nach:"
  112.  
  113. [FileConstantsENG]
  114.  
  115.     SoftwareDescription    = "ACOTEC ISDN RASCAPI driver"
  116.     SoftwareTitle        = "ACOTEC ISDN RASCAPI Driver"
  117.     FunctionTitle        = "ACOTEC ISDN RASCAPI Driver Setup"
  118.     ShellCodeErrorTitle    = "Error: "$(FunctionTitle)
  119.     ShellCodeErrorText    = "Shell-Code Error"
  120.     HardwareTitle        = $(SoftwareTitle)
  121.     HardwareDescription    = $(SoftwareDescription)
  122.  
  123.     ProCaption   = "Acotec RASCAPI setup"
  124.     ProCancel    = "Cancel"
  125.     ProCancelMsg = "Are you sure for canceling copy files? "+
  126.     "If you cancel than is Acotec RASCAPI not correctly installed.The installed software components remove now."
  127.     ProCancelCap = "Message Acotec RASCAPI setup"
  128.     ProText1     = "copied:"
  129.     ProText2     = "to:"
  130.  
  131. [GeneralConstants]
  132.  
  133. ;// File Names
  134.  
  135.     UtilInf    = "UTILITY.INF"
  136.     ParmInf    = "NCPARAM.INF"
  137.     SubrInf    = "SUBROUTN.INF"
  138.  
  139. ;// Registry access
  140.  
  141.     MAXPERM            = 33554432
  142.     KeyNull         = ""
  143.     NoTitle            = 0
  144.  
  145. ;// Product Info
  146.  
  147.     Product            = "AcoRas"
  148.     Manufacturer    = "ACOTEC"
  149.     Logo            = $(Product)" software (c) "$(Manufacturer)
  150.  
  151. ;// Setup.dll file; Data files
  152.  
  153.     ProductDirectory = "ACOTEC"
  154.     ProductPath         = $(!STF_WINDOWSSYSPATH)"\"$(ProductDirectory)
  155.     SetupPath          = $(ProductPath)"\AcoSuDLL.DLL"
  156.     InCallFileName   = $(ProductPath)"\caller.dat"
  157.  
  158. ;// Software
  159.  
  160.     SoftwareName            = $(Product)
  161.     SoftwareType            = "driver"
  162.     SoftwareServiceName        = $(SoftwareName)
  163.     SoftwareServiceGroup    = "NDIS"
  164.     SoftwareServiceType        = "kernel"
  165.     SoftwareServiceTypeDisabled = "kerneldisable"
  166.     SoftwareImagePath        = "\SystemRoot\system32\drivers\"$(Product)".sys"
  167.     SoftwareBase            = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  168.     SoftwareKeyName            = $(SoftwareBase)"\"$(Product)"\CurrentVersion"
  169.     NetRuleSoftwareType     = $(Product)"Sys RasCapiDriver"
  170.     NetRuleSoftwareUse      = $(SoftwareType)
  171.     NetRuleSoftwareBindForm = """"$(Product)"Driver"" yes no container"
  172.     NetRuleSoftwareClass    = {"RasCapiDriver basic"}
  173.     NetRuleSoftwareBindable = {"RasCapiDriver RasCapiAdapter non exclusive 100"}
  174.  
  175. ;// Hardware
  176.  
  177.     HardwareName            = $(Product)
  178.     NetRuleHardwareType     = $(Product)" RasCapiAdapter"
  179.     NetRuleHardwareBindForm = " yes yes container"
  180.     NetRuleHardwareClass    = {$(Product)"Adapter basic"}
  181.  
  182. ;// Service
  183.  
  184.     CurrentControlSet        = "SYSTEM\CurrentControlSet"
  185.     ServiceBase                = $(CurrentControlSet)"\Services"
  186.     ServicePath                = $(ServiceBase)"\"$(SoftwareServiceName)
  187.     ServiceParameters        = $(ServicePath)"\Parameters"
  188.     OldServiceParameters    = $(ServiceBase)"\RasCapi\Parameters"
  189.     ControlBase                = $(CurrentControlSet)"\Control"
  190.     ServiceGroupOrder        = $(ControlBase)"\ServiceGroupOrder"
  191.     TapiDevicesPath            = "HARDWARE\DEVICEMAP\TAPI DEVICES"
  192.     CapiDevicesPath            = "SOFTWARE\CAPI20"
  193.  
  194. ;// Traceservice
  195.     TrcServiceName            = "AcoRasTraceSV"
  196.     TrcServiceTitle            = "ACOTEC RasCapi Trace Service"
  197.     TrcServicePath            = $(ServiceBase)"\"$(TrcServiceName)
  198.     TrcServiceParmPath        = $(TrcServicePath)"\Parameters"
  199.     TrcServiceImagePath        = "%SystemRoot%\system32\"$(ProductDirectory)"\RasTrcSv.EXE"
  200.     TrcServiceStartTypeMan    = "service"
  201.     TrcServiceStartTypeAuto    = "serviceauto"
  202.     TrcServiceGroup            = "Network"
  203.  
  204. ;// Setup pathes
  205.     AcoSetupIconsPath        = $(ProductPath)"\AcoIcons.inf"
  206.  
  207. [date]
  208. ;// Now is a list which contains:
  209. ;//    Sec from 1-1-1970, Year, Month, Day, Hour, Minute, Second
  210.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  211.  
  212. ;//---------------------------------------------------------------------------
  213. ;// 1. Identify
  214. ;//
  215. ;// DESCRIPTION:   To verify that this INF deals with the same type of options
  216. ;//                as we are choosing currently.
  217. ;//
  218. ;// INPUT:         None
  219. ;//
  220. ;// OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  221. ;//                $($R1): Option Type (COMPUTER ...)
  222. ;//                $($R2): Diskette description
  223. ;//---------------------------------------------------------------------------
  224.  
  225. [Identify]
  226.  
  227.     read-syms Identification
  228.  
  229.     set Identifier = $(OptionType)
  230.     set Media      = #("Source Media Descriptions", 1, 1)
  231.  
  232.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  233.         set parms = "Identify: Id="$(Identifier)" Media="$(Media)
  234.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"STATUS",$(parms)
  235.     endif
  236.  
  237.     return STATUS_SUCCESSFUL $(Identifier) $(Media)
  238.  
  239. ;//------------------------------------------------------------------------
  240. ;// 2. ReturnOptions:
  241. ;//
  242. ;// DESCRIPTION:   To return the option list supported by this INF and the
  243. ;//                localised text list representing the options.
  244. ;//
  245. ;// INPUT:         $($0):  Language used. ( ENG | GER | FRN ... )
  246. ;//
  247. ;// OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  248. ;//                                STATUS_NOLANGUAGE
  249. ;//                                STATUS_FAILED
  250. ;//                                STATUS_NOTSUPPORTED
  251. ;//
  252. ;//                $($R1): Option List
  253. ;//                $($R2): Option Text List
  254. ;//------------------------------------------------------------------------
  255.  
  256. [ReturnOptions]
  257.  
  258.     Shell "" GetLanguage
  259.     set Language = $($R0)
  260.  
  261.     set OptionList     = ^(Options, 1)
  262.     set OptionTextList = ^(OptionsText$(!Language), 1)
  263.  
  264.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  265.         set parms = "ReturnOptions: Lang="$($0)" Platform="$($1)""$(!LF)+
  266.                     $(OptionList)$(!LF)$(OptionTextList)
  267.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"STATUS",$(parms)
  268.     endif
  269.  
  270.     return STATUS_SUCCESSFUL $(OptionList) $(OptionTextList)
  271.  
  272. ;//------------------------------------------------------------------------
  273. ;//
  274. ;// InstallOption:
  275. ;//
  276. ;//      This section is shelled to by main installation processing
  277. ;//      or by NCPASHEL.INF during reconfig, removal, update, etc.
  278. ;//
  279. ;// FUNCTION:  To copy files representing Options
  280. ;//            To configure the installed option
  281. ;//            To update the registry for the installed option
  282. ;//
  283. ;// INPUT:     $($0):  Language to use
  284. ;//            $($1):  Option, i.e name of card type to install
  285. ;//            $($2):  SourceDirectory
  286. ;//            $($3):  AddCopy  (YES | NO)
  287. ;//            $($4):  DoCopy   (YES | NO)
  288. ;//            $($5):  DoConfig (YES | NO)
  289. ;//
  290. ;// OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  291. ;//                            STATUS_NOLANGUAGE |
  292. ;//                            STATUS_USERCANCEL |
  293. ;//                            STATUS_FAILED
  294. ;//
  295. ;//------------------------------------------------------------------------
  296. [InstallOption]
  297.  
  298. ;// append a "\ " to SrcDir if necessary (nice bug, depends on user input)
  299.  
  300.     set SrcDir = $($2)
  301.  
  302.     set SplitList = {}
  303.     split-string $(SrcDir) "\" SplitList
  304.     querylistsize SplitCount $(SplitList)
  305.     ifstr(i) "\" != *($(SplitList), $(SplitCount))
  306.         set SrcDir = $(SrcDir)"\"
  307.     endif
  308.  
  309.     Shell "" GetLanguage    
  310.  
  311.     set-subst !LF = \n
  312.     set !Product = "AcoRas"
  313. ;//    set !STF_DISPLAYDEBUGOUTPUT = TRUE
  314.     set !SetupHandle = ""
  315.  
  316. ;// caseswitch for install modes
  317.  
  318.     ifstr(i)         $(!NTN_InstallMode) == deinstall
  319.         Shell ""     RemoveRequest
  320.     else-ifstr(i)     $(!NTN_InstallMode) == update
  321.         Shell ""     UpdateRequest $(SrcDir)  
  322.     else-ifstr(i)     $(!NTN_InstallMode) == bind
  323.         Shell ""    BindRequest
  324.     else-ifstr(i)     $(!NTN_InstallMode) == configure 
  325.         Shell ""    ConfigureRequest
  326.     else-ifstr(i)    $(!NTN_InstallMode) == install
  327.         Shell ""     InstallRequest $(SrcDir)
  328.     endif
  329.  
  330.     return $($R0)
  331.  
  332.  
  333. ;// ****************************************************************************
  334. ;// Installmode :    Remove
  335.  
  336. [RemoveRequest]
  337.  
  338.     read-syms GeneralConstants
  339.     read-syms FileConstants$(!Language)
  340. ;// set the libraryhandle
  341.     LoadLibrary "" $(SetupPath) !SetupHandle
  342.  
  343. ;// remove the files used by RAS
  344.     
  345.     set !ExitCondition = "REBOOT"
  346.     LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  347.  
  348.     Shell $(AcoSetupIconsPath) "RemoveRasIcons" 
  349.     Shell "" CheckRemovingCommonIcons
  350.  
  351.     Shell "" GetLanguage
  352.     ifstr(i) $($R0) == "GER"
  353.         set parms = "Die Deinstallation des "*(^(OptionsText$(!Language), 1),1)+
  354.                     " ist erfolgreich beendet."
  355.     else
  356.         set parms = "The removing from the "*(^(OptionsText$(!Language), 1),1)+
  357.                     " has been finished succesfully."
  358.     endif
  359.  
  360.     ifstr(i) $(!ExeCalled) == TRUE
  361.         set !EndText = $(parms)
  362.     else
  363.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"STATUS",$(parms)
  364.     endif
  365.  
  366.     return STATUS_SUCCESSFUL
  367.  
  368. ;// ****************************************************************************
  369. ;// Installmode :    Update
  370.  
  371. [UpdateRequest]
  372.  
  373.     Shell "" GetLanguage
  374.     read-syms GeneralConstants
  375.     read-syms FileConstants$(!Language)
  376.  
  377.     set SrcDir = $($0) 
  378.     LoadLibrary "" $(SrcDir)"AcoSUDLL.DLL" !SetupHandle
  379.     LibraryProcedure Result $(!SetupHandle) AttachLangDLL $(!STF_HWND) $(SrcDir)
  380.  
  381. ;// Check old Version of RasCapi
  382.     OpenRegKey $(!REG_H_LOCAL) "" $(OldServiceParameters) $(MAXPERM) Key
  383.  
  384.     ifstr $(Key) != $(KeyNull)
  385.         ifstr(i) Language == "GER"
  386.             set parms = "Der ACOTEC ISDN RASCAPI kann nicht direkt aktualisiert werden. "+
  387.                         "Die auf Ihren Computer installierte Version wird entfernt."
  388.                         "Booten Sie Ihren Computer. Installieren sie dann die neue Version des Acotec RasCapi Treibers."
  389.         else
  390.             set parms = "The ACOTEC ISDN RASCAPI can't upgraded directly. The old version "+
  391.                         "is removing now. "+
  392.                         "After restart your computer install the new version of the Acotec RasCapi driver."
  393.         endif
  394.         
  395.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"ERROR",$(parms)
  396.         LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp $(HWND)
  397.  
  398.         return STATUS_OK
  399.     endif
  400.  
  401.     set !ExitCondition = "REBOOT"
  402.  
  403.     ;// get the old inffilename for the new oemsetup.inf
  404.     Shell "" GetInfFileName
  405.     set !UG_FILENAME = $($R0)
  406.  
  407.     install "install-install"
  408.  
  409.     ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  410.         LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  411.         return STATUS_USERCANCEL
  412.     endif
  413.  
  414.     Shell $(AcoSetupIconsPath) "InstallRASIcons" $(!Language)
  415.  
  416. ;// Set the Libraryhandle by harddisk        
  417.     LoadLibrary "" $(SetupPath) !SetupHandle
  418.  
  419.     Shell "" ConfigureWANController
  420.  
  421.     Shell "" MS-RASInstall
  422.  
  423.     return STATUS_SUCCESSFUL
  424.  
  425. ;// ****************************************************************************
  426. ;// Installmode :    Bind    (here not allowed -> fatal error)
  427.  
  428. [BindRequest]
  429.  
  430.     Shell "" GetLanguage
  431.     ifstr(i) $($R0) == "ENG"
  432.         set CantChangeBinding    = "Cannot change binding"
  433.     else 
  434.         set CantChangeBinding    = "Die Bindungsdaten k÷nnen nicht verΣndert werden"
  435.     endif 
  436.  
  437.     Shell "SUBROUTN.INF" SetupMessage,ENG,"FATAL",$(parms)
  438.  
  439.     return STATUS_FAILED
  440.  
  441. ;// ****************************************************************************
  442. ;// Installmode :    Configure    
  443.  
  444. [ConfigureRequest]
  445.  
  446.     read-syms GeneralConstants
  447.     read-syms FileConstants$(!Language)
  448.     set changecount = 0
  449.  
  450. ;// set the libraryhandle
  451.     LoadLibrary "" $(SetupPath) !SetupHandle
  452.  
  453. ;//configure WAN controller
  454.  
  455.     Shell "" ConfigureWANController
  456.     set changecount = 0
  457.     ifstr(i) $($R0) != "USER_CANCEL"
  458.         set-add changecount = $(changecount), 1
  459.     endif
  460.  
  461.     ifint $(changecount) == 0
  462.         return STATUS_USERCANCEL
  463.     endif
  464.  
  465.     set !ExitCondition = "REBOOT"
  466.  
  467.     Shell "" MS-RASInstall
  468.  
  469.     return STATUS_SUCCESSFUL
  470.  
  471. ;// ****************************************************************************
  472. ;// Installmode :    Install
  473. ;// Input          : $($0)     Sourcedirectory
  474.  
  475. [InstallRequest]
  476.  
  477.     StartWait
  478.     set SrcDir = $($0)
  479.  
  480.     LoadLibrary "" $(SrcDir)"AcoSUDLL.DLL" !SetupHandle
  481.     LibraryProcedure Result $(!SetupHandle) AttachLangDLL $(!STF_HWND) $(SrcDir)
  482.  
  483. ;//read the global constants from sections
  484.     read-syms     GeneralConstants
  485.  
  486.     Shell "" GetLanguage
  487.     read-syms FileConstants$(!Language)
  488.  
  489. ;// Check the tagfile for a correctly install directory 
  490.     Shell "" CheckCorrectlyInstallDir $(SrcDir)
  491.     ifstr(i) $($R0) == "ERROR"
  492.         LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  493.         return STATUS_SUCCESSFUL
  494.     endif
  495.  
  496. ;// if only speacards installed no serialnumber input
  497.     LibraryProcedure Result $(!SetupHandle) RasCheckSpeaCard
  498.     
  499.     ifstr(i) $(Result) == "SERIAL_REQUEST" 
  500.         LibraryProcedure Result $(!SetupHandle) AcoRasConfigKeyNumber $(!STF_HWND) $(SrcDir)"SETUP.HLP" 
  501.         ifstr(i) $(Result) == "USER_CANCEL"
  502.             return STATUS_USERCANCEL
  503.         endif
  504.     endif
  505.     set !ExitCondition = "REBOOT"
  506.  
  507. ;// Install various components
  508.  
  509.     set errorcount = 0
  510.     set errorlist  = {}
  511.  
  512. ;// Install the RasCapiSoftware 
  513. ;// Return KeyServiceParameters in $($R0)
  514.     Shell "" InstallRasSoftware
  515.     ifstr(i) $($R0) == "ERROR" 
  516.         set-add  errorcount = $(errorcount) , 1
  517.         set errorlist = >($(errorlist), $($R1))
  518.     endif 
  519.  
  520.     set KeyServiceParameter = $($R0)
  521.  
  522. ;// Install the RasCapiHardware
  523.     Shell "" InstallRasHardware $(KeyServiceParameter)
  524.     ifstr(i) $($R0) == "ERROR" 
  525.         set-add  errorcount = $(errorcount) , 2
  526.         set errorlist = >($(errorlist), $($R1))
  527.     endif 
  528.  
  529.     Shell "" InstallTraceService
  530.     ifstr(i) $($R0) == "ERROR" 
  531.         set-add  errorcount = $(errorcount) , 4
  532.         set errorlist = >($(errorlist), $($R1))
  533.     endif 
  534.  
  535. ;//if errorcheck ok finished the Registry Installation else break the installation
  536.     ifint $(errorcount) != 0 
  537.         set list = ""
  538.         ForListDo $(errorlist)
  539.             set list = $(list)$(!LF)$($)
  540.         EndForListDo
  541.         ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  542.             Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Fatal","Registry installation error with ("+
  543.                                     $(errorcount)" errors)"$(!LF)$(list)
  544.         endif
  545.         ifstr(i) $(!Language) == "GER"
  546.             set parms = "Bei der Installation der RegistryeintrΣge fⁿr den "+
  547.                          *(^(OptionsText$(!Language), 1), 1)+
  548.                         " ist ein Fehler aufgetreten.(Nr: "$(errorcount)") Starten Sie Ihren Computer neu "+
  549.                         "und fⁿhren Sie nochmals die Installation des MPR aus."
  550.         else 
  551.             set parms = "The registry installation from the "+
  552.                          *(^(OptionsText$(!Language), 1), 1)+
  553.                         " has a error. (Nb. "$(errorcount)") Boot your computer and start installation oncemore."
  554.         endif
  555.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Fatal",$(parms)
  556.         LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  557.         return STATUS_FAILED
  558.     endif
  559.     
  560.     EndWait
  561.  
  562. ;//copy the files
  563.     install "Install-Install"
  564.  
  565.     ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  566.         LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  567.         return STATUS_USERCANCEL
  568.     endif
  569.  
  570. ;// Set the Libraryhandle by harddisk        
  571.     LoadLibrary "" $(SetupPath) !SetupHandle
  572.  
  573. ;//configure WAN controller
  574.  
  575. ConfWanCtr =+
  576.     Shell "" ConfigureWANController
  577.     ifstr(i) $($R0)    == "USER_CANCEL"
  578.         Shell "" CheckReallyCancel
  579.         ifstr(i) $($R0)    == "USER_CANCEL"
  580.             LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  581.             return STATUS_SUCCESSFUL
  582.         else
  583.             goto ConfWanCtr
  584.         endif
  585.     endif        
  586.  
  587. ;//if not controller choose than typ of start switch off
  588.  
  589. ;// Install a program group and a program for futher configuration 
  590.  
  591.     Shell $(AcoSetupIconsPath) "InstallRasIcons" $(!Language)
  592.  
  593. ;// Install Eventlog Entry 
  594.  
  595.     LibraryProcedure Result $(!SetupHandle) AcoRasProvideRegistry
  596.  
  597. ;// Install ended
  598.     ifstr(i) $(!Language) == "GER"
  599.         set parms = "Die Installation des "*(^(OptionsText$(!Language), 1),1)" ist abgeschlossen!"+
  600.                     "Um RAS nutzen zu k÷nnen, installieren oder konfigurieren Sie Microsoft-RAS."+
  601.                     "Drⁿcken Sie die Taste 'OK' wenn Sie MS-RAS installieren oder konfigurieren wollen."
  602.     else
  603.         set parms = "The installation from "*(^(OptionsText$(!Language), 1),1)" finished."+
  604.                     "For using RAS install or configure MS-RAS. Press button 'OK' for install or configure MS-RAS."
  605.     endif
  606.     
  607.     Shell "" MS-RASInstall
  608.  
  609.     return STATUS_SUCCESSFUL
  610.  
  611. ;// ****************************************************************************
  612. ;// various software components installsections
  613. ;// ****************************************************************************
  614.  
  615. [InstallRasSoftware]
  616. ;// Output $($R0) KeyServiceParameters for Hardwareinstall
  617.  
  618.     read-syms GeneralConstants
  619.     read-syms     FileConstants$(!Language)
  620.  
  621.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  622.     set params = "AddSoftwareComponent"$(!LF)+
  623.     "Manufacturer    :"$(Manufacturer)$(!LF)+        
  624.     "Softwarename    :"$(SoftwareName)$(!LF)+        
  625.     "Servicename    :"$(SoftwareServiceName)$(!LF)+
  626.     "Softwaretitle    :"$(SoftwareTitle)$(!LF)+       
  627.     "Inf-filename    :"$(STF_CONTEXTINFNAME)$(!LF)+  
  628.     "SW-Imagepath    :"$(SoftwareImagePath)$(!LF)+   
  629.     "Servicetyp    :kernel"$(!LF)+  
  630.     "Servicegroup    :"$(SoftwareServiceGroup)
  631.     Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Status",$(params)
  632.     endif
  633.     
  634.     Shell $(UtilInf), AddSoftwareComponent, +
  635.                 $(Manufacturer), +
  636.                 $(SoftwareName), +
  637.                 $(SoftwareServiceName), +
  638.                 $(SoftwareTitle), +
  639.                 $(STF_CONTEXTINFNAME), +
  640.                 $(SoftwareImagePath), +
  641.                 "kernel", +
  642.                 $(SoftwareServiceGroup), +
  643.                 {}, +
  644.                 "", +
  645.                 $(NetEventDLL)
  646.                 
  647.                 ifstr(i) $($R0) != NO_ERROR
  648.                 return "ERROR" "Registry error RasSoftware"
  649.                 endif
  650.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  651.                 return "ERROR" "SHELL_CODE error RasSoftware"
  652.                 endif
  653.                 
  654.     set RegistryError         = $($R0)
  655.     set KeySoftware             = $($R1)
  656.     set KeySoftwareNetRules     = $($R2)
  657.     set KeyService             = $($R3)
  658.     set KeyServiceParameters = $($R4)
  659.     CloseRegKey $($R5)
  660.  
  661.     detect date
  662.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  663.         set params = "AddValues Software"$(!LF)+
  664.                      "SoftwareType    :"$(SoftwareType)$(!LF)+        
  665.                      "Version        :"*(^(Version, 1), 1)$(!LF)+        
  666.                      "Softwaretitle    :"$(SoftwareTitle)$(!LF)+       
  667.                      "Description    :"$(SoftwareDescription)$(!LF)+  
  668.                      "SW-Imagepath    :"$(SoftwareImagePath)$(!LF)+   
  669.                      "Servicename    :"$(SoftwareServiceName)$(!LF)+  
  670.                      "InstallDate    :"*($(Now),1)
  671.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Status",$(params)
  672.     endif
  673.     
  674.     set NewValueList = {+
  675.         {SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  676.         {Version,$(NoTitle),$(!REG_VT_DWORD),*(^(Version, 1), 1)},+
  677.         {Title,$(NoTitle),$(!REG_VT_SZ),$(SoftwareTitle)},+
  678.         {Description,$(NoTitle),$(!REG_VT_SZ),$(SoftwareDescription)},+
  679.         {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(SoftwareServiceName)},+
  680.         {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}+
  681.         }
  682.  
  683.     Shell  $(UtilInf), AddValueList, $(KeySoftware), $(NewValueList)
  684.  
  685.     ifstr(i) $($R0) != NO_ERROR
  686.         return "ERROR" "Registry error Addvalue RasSoftware"
  687.     endif
  688.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  689.         return "ERROR" "SHELL_CODE error Addvalue RasSoftware"
  690.     endif
  691.  
  692.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  693.         set params = "AddValues Software Rules"$(!LF)+
  694.                      "Type        :"$(NetRuleSoftwareType)$(!LF)+        
  695.                      "Use        :"$(NetRuleSoftwareUse)$(!LF)+        
  696.                      "bindform    :"$(NetRuleSoftwareBindForm)$(!LF)+       
  697.                      "Class        :"$(NetRuleSoftwareClass)$(!LF)+  
  698.                      "bindable    :"$(NetRuleSoftwareBindable)$(!LF)+   
  699.                      "Infoption    :AcoRas"  
  700.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Status",$(params)
  701.     endif
  702.  
  703.     set NewValueList = {+
  704.         {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  705.         {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  706.         {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  707.         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  708.         {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  709.         {InfOption,$(NoTitle),$(!REG_VT_SZ),"AcoRas"}+
  710.         }
  711.  
  712.     Shell  $(UtilInf), AddValueList, $(KeySoftwareNetRules), $(NewValueList)
  713.  
  714.     ifstr(i) $($R0) != NO_ERROR
  715.         return "ERROR" "Registry error Addvalue RasSoftware Rules"
  716.     endif
  717.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  718.         return "ERROR" "SHELL_CODE error Addvalue RasSoftware Rules"
  719.     endif
  720.  
  721.     return $(KeyServiceParameters) ""
  722.             
  723. [InstallRasHardware]
  724. ;// Input  $($0)  KeyServiceParameters from Softwareinstall
  725.     set KeyServiceParameters = $($0)
  726.  
  727.     read-syms     GeneralConstants
  728.     read-syms     FileConstants$(!Language)
  729.     
  730.     Shell $(UtilInf), AddHardwareComponent, $(HardwareName),+
  731.           $(STF_CONTEXTINFNAME), $(SoftwareKeyName)
  732.  
  733.     ifstr(i) $($R0) != NO_ERROR
  734.         return "ERROR" "Registry error Addvalue RasHardware"
  735.     endif
  736.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  737.         return "ERROR" "SHELL_CODE error Addvalue RasHardware"
  738.     endif
  739.  
  740.     set KeyNetworkCard    = $($R1)
  741.     set KeyAdapterRules = $($R2)
  742.     set KeyParameters    = $($R3)
  743.     set AdapterNumber    = $($R4)
  744.  
  745.     detect date
  746.  
  747.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  748.         set params = "AddValues Hardware"$(!LF)+
  749.                      "Manufacturer    :"$(Manufacturer)$(!LF)+        
  750.                      "Title        :"$(HardwareTitle)$(!LF)+        
  751.                      "Description    :"$(HardwareDescription)$(!LF)+       
  752.                      "Productname    :"$(HardwareName)$(!LF)+  
  753.                      "Servicename    :"$($R5)   
  754.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Status",$(params)
  755.     endif
  756.  
  757.     set NewValueList = {+
  758.         {Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  759.         {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(HardwareTitle)},+
  760.         {Description,$(NoTitle),$(!REG_VT_SZ),$(HardwareDescription)},+
  761.         {ProductName,$(NoTitle),$(!REG_VT_SZ),$(HardwareName)},+
  762.         {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  763.         {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}+
  764.         }
  765.  
  766.     Shell  $(UtilInf), AddValueList, $(KeyNetworkCard), $(NewValueList)
  767.  
  768.     ifstr(i) $($R0) != NO_ERROR
  769.         return "ERROR" "Registry error Addvalue RasHardware"
  770.     endif
  771.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  772.         return "ERROR" "SHELL_CODE error Addvalue RasHardware"
  773.     endif
  774.  
  775.     set TempProdName = """"$(HardwareName)$(AdapterNumber)""""
  776.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  777.  
  778.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  779.         set params = "AddValues Hardware Rules"$(!LF)+
  780.                      "type        :"$(NetRuleHardwareType)$(!LF)+        
  781.                      "bindform    :"$(TempBindForm)$(!LF)+        
  782.                      "class        :"$(NetRuleHardwareClass)$(!LF)+       
  783.                      "InfOption    :AcoRas"   
  784.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Status",$(params)
  785.     endif
  786.  
  787.     set NewValueList = {+
  788.         {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  789.         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  790.         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  791.         {InfOption,$(NoTitle),$(!REG_VT_SZ),"AcoRas"}+
  792.         }
  793.  
  794.     Shell  $(UtilInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  795.  
  796.     CloseRegKey $(KeyAdapterRules)
  797.  
  798.     ifstr(i) $($R0) != NO_ERROR
  799.         return "ERROR" "Registry error Addvalue RasHardware Rules"
  800.     endif
  801.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  802.         return "ERROR" "SHELL_CODE error Addvalue RasHardware Rules"
  803.     endif
  804.  
  805.     ; write the private global configuration parameters
  806.  
  807.     ifstr(i) *(^(PrintParms, 1), 1) == TRUE
  808.         set params = "AddValues Hardware"$(!LF)+
  809.                      "Reg-Path    :"$(KeyServiceParameters)$(!LF)+
  810.                      "AdapterNumber    :"$(AdapterNumber)$(!LF)+        
  811.                      "MSNEAZ    :"{}$(!LF)+       
  812.                      "Trace        :3"$(!LF)+  
  813.                      "Tracebuffer    :4096"$(!LF)+  
  814.                      "DefaultInbound    :B_HDLC"$(!LF)+  
  815.                      "DefaultOutbound    :B_HDLC"$(!LF)+  
  816.                      "Repair        :0" 
  817.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"Status",$(params)
  818.     endif
  819.  
  820.     set ValueList = { +
  821.         {AdapterNumber,$(NoTitle),$(!REG_VT_DWORD),$(AdapterNumber)},+
  822.         {Controllers,$(NoTitle),$(!REG_VT_MULTI_SZ),{}},+
  823.         {DefaultInbound,$(NoTitle),$(!REG_VT_SZ),"B_HDLC"},+
  824.         {DefaultOutbound,$(NoTitle),$(!REG_VT_SZ),"B_HDLC"},+
  825.         {IncallFlag,$(NoTitle),$(!REG_VT_DWORD),2},+
  826.         {IncomingCallerFile,$(NoTitle),$(!REG_VT_SZ),$(InCallFileName)},+
  827.         {LogBufferSize,$(NoTitle),$(!REG_VT_DWORD),1024},+
  828.         {LogLevel,$(NoTitle),$(!REG_VT_DWORD),1},+
  829.         {MSNEAZ,$(NoTitle),$(!REG_VT_MULTI_SZ),{}},+
  830.         {Repair,$(NoTitle),$(!REG_VT_DWORD),0},+            
  831.         {TraceBufferSize,$(NoTitle),$(!REG_VT_DWORD),8192},+
  832.         {TraceLevel,$(NoTitle),$(!REG_VT_DWORD),1},+
  833.         {UseExternTrace,$(NoTitle),$(!REG_VT_DWORD),0}+
  834.     }
  835.  
  836.     Shell  $(UtilInf), AddValueList, $(KeyServiceParameters), $(ValueList)
  837.  
  838.     ifstr(i) $($R0) != NO_ERROR
  839.         return "ERROR" "Registry error Addvalue RasHardware Serviceparameter"
  840.     endif
  841.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  842.         return "ERROR" "SHELL_CODE error Addvalue RasHardware Serviceparameter"
  843.     endif
  844.  
  845.     ; Finally write the adapter specific parameters in the adapter service
  846.     ; parameters key (although we are a dummy adapter it seems necessary
  847.     ; to set "BusType" and "BusNumber" there).
  848.  
  849.     Shell $(UtilInf), GetBusTypeNum
  850.  
  851.     set BusTypeNum = $($R1)
  852.     set BusNumber = 0
  853.  
  854.     set ValueList = {+
  855.             {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  856.             {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  857.             }
  858.  
  859.     Shell  $(UtilInf), AddValueList, $(KeyParameters), $(ValueList)
  860.  
  861.     ifstr(i) $($R0) != NO_ERROR
  862.         return "ERROR" "Registry error Addvalue RasHardware Bustyp"
  863.     endif
  864.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  865.         return "ERROR" "SHELL_CODE error Addvalue RasHardware Bustyp"
  866.     endif
  867.             
  868.     return $(AdapterNumber) ""
  869.         
  870. [CheckCorrectlyInstallDir]
  871. ;//    INPUT : in $($0) SourceDirectory
  872.  
  873.     set SrcDir = $($0)
  874.     read-syms GeneralConstants
  875.     Shell "" GetLanguage
  876.  
  877.     set Name = $(SrcDir)"\RasDisk1.TAG"        
  878.        LibraryProcedure FilePresent, $(!LIBHANDLE), CheckFileExistance, $(Name)
  879.     ifstr(i) $(FilePresent) != "YES"
  880.         ifstr(i) $(!Language) == "GER"
  881.             set parms =  "Fⁿr die Installation einer neuen Version des "+
  882.                           *(^(OptionsText$(!Language), 1),1)" werden Informationen aus "+
  883.                           "der Datei oemsetup.inf, die sich auf Ihrer Installationsdiskette "+
  884.                           "befindet, ben÷tigt. Benutzen Sie daher bitte den Eintrag "+
  885.                           "'<andere> erfordert Diskette des Hersteller' aus dieser Auswahlbox."             
  886.         else
  887.             set parms =  "Use entry '<Other> Requires disk from manufacturer' from the listbox "+
  888.                           "for install a new version "+
  889.                           *(^(OptionsText$(!Language), 1),1)
  890.         endif
  891.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"STATUS",$(parms)
  892. ;// Clear the old File 
  893.         LibraryProcedure Status, $(!LIBHANDLE), DelFile, $(STF_CONTEXTINFNAME)
  894.         return "ERROR"
  895.     endif
  896.     return ""
  897.  
  898. [GetLanguage]
  899.  
  900.     read-syms GeneralConstants
  901.     set MAXPERM    = 33554432
  902.     set KeyNull = ""
  903.     set !Language = ENG    
  904.  
  905.     OpenRegKey $(!REG_H_LOCAL) "" $(SetupRegKeyName) $(MAXPERM) Key
  906.     ifstr $(Key) != $(KeyNull)
  907.         set L = {}
  908.         GetRegValue $(Key) "SetupLanguage" L
  909.         CloseRegKey $(Key)
  910.         ifstr(i) $(L) != {}
  911.             set L = *($(L),4)        
  912.             ifstr(i) $(L) == ENG    
  913.                 set !Language = ENG    
  914.             endif
  915.             ifstr(i) $(L) == ENGLISH    
  916.                 set !Language = ENG    
  917.             endif
  918.             ifstr(i) $(L) == GER
  919.                 set !Language = GER    
  920.             endif
  921.             ifstr(i) $(L) == GERMAN    
  922.                 set !Language = GER    
  923.             endif
  924.             return $(!Language)
  925.         endif
  926.     endif
  927.  
  928.     OpenRegKey $(!REG_H_CUSER) "" "Control Panel\International" $(MAXPERM) LangKey
  929.     ifstr $(LangKey) != $(KeyNull)
  930.         GetRegValue $(LangKey) "Locale" LocaleInfo
  931.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  932.             ifcontains *($(LocaleInfo),4) in  {00000407}
  933.                 set !Language = GER
  934.             endif
  935.         endif
  936.         CloseRegKey $(LangKey)
  937.     endif
  938.  
  939.     return $(!Language)
  940.  
  941. [ConfigureWANController]
  942.  
  943.     LibraryProcedure Result $(!SetupHandle) AcoRasWanConfig 
  944.  
  945.     ifstr(i) $(Result) == "NOT_ANY_CONTROLLER"
  946. ;// deactivate or activate the wan driver 
  947.         Shell "" StartTypeWANDriver $(!SERVICE_DISABLED)
  948.     else 
  949.         Shell "" StartTypeWANDriver $(!SERVICE_AUTO_START)
  950.     endif
  951.  
  952.     return $(Result)
  953.     
  954. [StartTypeWANDriver]
  955. ;// Input $($0) Starttyp
  956.  
  957.     read-syms GeneralConstants
  958.  
  959.     OpenRegKey $(!REG_H_LOCAL) "" $(ServicePath) $(MAXPERM) WanKey
  960.     ifstr $(WanKey) != $(KeyNull)
  961.         SetRegValue $(WanKey) {"Start",0,4,$($0)}
  962.         CloseRegKey $(WanKey)
  963.     endif
  964.     return 
  965.  
  966. [InstallTraceService]
  967.  
  968.     read-syms GeneralConstants
  969.  
  970.     set StartType = $(TrcServiceStartTypeAuto)
  971.  
  972.     Shell "UTILITY.INF" CreateService, +
  973.             $(TrcServiceName), +
  974.             $(TrcServiceTitle), +
  975.             $(TrcServiceImagePath), +
  976.             $(StartType), +
  977.             $(TrcServiceGroup), +
  978.             "", "", "", "", "", "", "", "", ""
  979.  
  980.     set KeyService               = $($R1)
  981.     set KeyServiceParameters = $($R2)
  982.     CloseRegKey $($R3)
  983.  
  984.     ifstr(i) $($R0) != NO_ERROR
  985.         return "ERROR" "REGISTRY error Create TraceDemon"
  986.     endif
  987.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  988.         return "ERROR" "REGISTRY error Create TraceDemon"
  989.     endif
  990.  
  991.     return "" 
  992.  
  993. [MS-RASInstall]
  994.  
  995. ;// if RAS is not installed, then shell ras setup INF file to install RAS
  996. ;// else invoke RAS to allow user to configure RAS for the ISDN lines. 
  997.  
  998.     Shell "" GetLanguage
  999.     read-syms  GeneralConstants
  1000.     read-syms FileConstants$(!Language)
  1001.  
  1002.     Shell "" DoYouWantInstallMSRas
  1003.  
  1004.     ifstr(i) $($R0) != "YES"
  1005.         return "NO RASINSTALL"
  1006.     endif
  1007.  
  1008.     Shell "oemnsvra.inf" CheckRasInstalled
  1009.     set RasInstalled = $($R0)
  1010.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1011.         ifstr(i) $(!Language) == "GER"
  1012.             set parms =  "MS-RAS kann nicht installiert werden, weil die Setupdatei "+
  1013.                          "nicht gefunden wurde."
  1014.         else
  1015.             set parms =  "Can't install MS-RAS, because not found setup file."
  1016.         endif
  1017.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"STATUS",$(parms)
  1018.         return 
  1019.     endif
  1020.  
  1021.     ; Set the flags based on whether this is an IDW installation
  1022.    
  1023.     ifstr(i) $(!STF_IDW) == TRUE
  1024.         set AddCopy  = NO
  1025.         set DoCopy   = NO
  1026.         set DoConfig = NO
  1027.     else
  1028.         set AddCopy  = YES
  1029.         set DoCopy   = YES
  1030.         set DoConfig = YES
  1031.     endif
  1032.  
  1033.     ; set the global install mode flag according to the neccessary operation
  1034.  
  1035.     set SaveNTN_InstallMode = $(!NTN_InstallMode)
  1036.  
  1037.     ifstr(i) $(RasInstalled) == TRUE
  1038.             set !NTN_InstallMode = configure
  1039.     else
  1040.         set !STF_SRCDIR_OVERRIDE = ""
  1041.         set !NTN_InstallMode = install
  1042.     endif
  1043.  
  1044.     ; now invoke RAS setup
  1045.  
  1046.     Shell "oemnsvra.inf" InstallOption $(!STF_LANGUAGE) "RAS" $(SrcDir) +
  1047.            $(AddCopy) $(DoCopy) $(DoConfig)
  1048.  
  1049.     ; restore the global install mode flag
  1050.  
  1051.     set !NTN_InstallMode = $(SaveNTN_InstallMode)
  1052.  
  1053.     return
  1054.  
  1055. [GetInfFileName]
  1056.  
  1057.     read-syms GeneralConstants
  1058.     set InfFile = ""
  1059.     OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareKeyName) $(MAXPERM) KeySoftware
  1060.     ifstr $(KeySoftware) != $(KeyNull)
  1061.         Shell $(UtilInf), GetInfFileNameFromRegistry, $(KeySoftware)
  1062.         ifint $($ShellCode) == $(!SHELL_CODE_OK)
  1063.             set InfFile = $($R0)
  1064.         endif
  1065.         CloseRegKey $(KeySoftware)
  1066.     endif
  1067.  
  1068.     return $(InfFile)
  1069.  
  1070. [CheckRemovingCommonIcons]
  1071.  
  1072.     read-syms GeneralConstants
  1073.  
  1074.     OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareBase)"\AcoMpr" $(MAXPERM) Key
  1075.     ifstr $(Key) != $(KeyNull)
  1076.         CloseRegKey $(WanKey)
  1077.         return
  1078.     endif
  1079.  
  1080.     OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareBase)"\AcoRas" $(MAXPERM) Key
  1081.     ifstr $(Key) != $(KeyNull)
  1082.         CloseRegKey $(WanKey)
  1083.         return
  1084.     endif
  1085.  
  1086.     OpenRegKey $(!REG_H_LOCAL) "" $(SoftwareBase)"\AcoCG" $(MAXPERM) Key
  1087.     ifstr $(Key) != $(KeyNull)
  1088.         CloseRegKey $(WanKey)
  1089.         return
  1090.     endif
  1091.  
  1092.     Shell $(AcoSetupIconsPath) "RemoveCommonIcons"
  1093.     return    
  1094.  
  1095.  
  1096. ;//***************************************************************
  1097. ;//  INSTALL SECTIONS; copy the files used by MPR 
  1098. ;//***************************************************************
  1099.  
  1100. [Files-Inf]
  1101.     1,    OEMSETUP.INF,        SIZE=1,      RENAME=$(!UG_FILENAME)
  1102.  
  1103. [Files-System]
  1104.     1,    AcoRas.sy_,            SIZE=1,      RENAME=AcoRas.sys
  1105.  
  1106. [Files-Disk1]
  1107.     1,    RASCFG.EX_,            SIZE=1,        RENAME=RASCFG.EXE
  1108.     1,  RasTrcSv.EX_,        SIZE=1,        RENAME=RasTrcSv.EXE
  1109.     1,  RasReadG.txt,        SIZE=1,        RENAME=RasReadG.txt
  1110.     1,  RasReadE.txt,        SIZE=1,        RENAME=RasReadE.txt
  1111.     1,  RasFAQE.txt,        SIZE=1,        RENAME=RasFAQE.txt
  1112.     1,  RasFAQG.txt,        SIZE=1,        RENAME=RasFAQG.txt
  1113.     1,    RasMonis.EX_,        SIZE=1,        RENAME=RasMonis.EXE
  1114.     1,    RAS30HBE.HL_,        SIZE=1,        RENAME=RAS30HBE.HLP
  1115.     1,    RAS30HBG.HL_,        SIZE=1,        RENAME=RAS30HBG.HLP
  1116.     1,    ACORASHB.EX_,        SIZE=1,        RENAME=ACORASHB.EXE
  1117.  
  1118. [Files-Setup]
  1119.     1,    AcoSUDLL.DLL,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=AcoSUDLL.DLL    
  1120.     1,    AcoIcons.INF,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=AcoIcons.INF    
  1121.     1,    SETUPGER.HLP,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=SetupGER.HLP    
  1122.     1,    SETUPENG.HLP,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=SetupENG.HLP    
  1123.     1,    ACORASBG.BMP,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=ACORASBG.BMP    
  1124.     1,    GETVER.EXE,            SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=GETVER.EXE    
  1125. ;    1,    AcoSetup.EXE,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=AcoSetup.EXE    
  1126.     1,    LANGGER.DLL,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=LANGGER.DLL
  1127.     1,    LANGENG.DLL,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=LANGENG.DLL
  1128.     1,    DELFILES.DAT,        SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=DELFILES.DAT
  1129.     1,    DATAS.DLL,            SIZE=1, OVERWRITE=VERIFYSOURCEOLDER,    RENAME=DATAS.DLL
  1130.     1,    RASSETUP.BAT,        SIZE=1,                                    RENAME=RASSETUP.BAT    
  1131.  
  1132. [Install-Install]
  1133.  
  1134.     set STF_VITAL        = "1"
  1135.     set STF_DECOMPRESS    = 1
  1136.  
  1137.     CreateDir $(!STF_WINDOWSSYSPATH)"\"$(ProductDirectory)
  1138.  
  1139.     AddSectionFilesToCopyList Files-System    $(SrcDir) +
  1140.                     $(!STF_WINDOWSSYSPATH)"\drivers"
  1141.     AddSectionFilesToCopyList Files-Disk1 $(SrcDir) +
  1142.                     $(!STF_WINDOWSSYSPATH)"\"$(ProductDirectory)
  1143.  
  1144.     AddSectionFilesToCopyList Files-Setup $(SrcDir) +
  1145.                     $(!STF_WINDOWSSYSPATH)"\"$(ProductDirectory)
  1146.  
  1147.     ifstr(i)     $(!NTN_InstallMode) == update
  1148.         AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1149.     endif
  1150.  
  1151.     set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1152.     CopyFilesInCopyList
  1153.  
  1154.     exit
  1155.  
  1156. [DoYouWantInstallMSRas]
  1157.  
  1158.     Shell "" GetLanguage
  1159.     read-syms WantMSRasInstall$(!Language) 
  1160.     ui start "CustomMessageBox"
  1161.     ifstr(i) $(DLGEVENT) == "YES" 
  1162.         return "YES"
  1163.     endif        
  1164.     return "NO"
  1165.  
  1166. [WantMSRasInstallGER]
  1167.     DlgType         =    "MessageBox"
  1168.     STF_MB_TITLE = "Acotec ISDN RasCapi Setup"
  1169.     STF_MB_TEXT  = +
  1170.     "Der Acotec ISDN RasCapi Treiber wurde erfolgreich installiert bzw. konfiguriert. "+
  1171.     "Sie mⁿssen jetzt die Microsoft RAS Konfiguration aufrufen, um die ISDN ZugΣnge einzurichten. "$(!LF)+
  1172.     "Wollen Sie jetzt MS-Ras konfigurieren?"
  1173.     STF_MB_TYPE  = 3 
  1174.     STF_MB_ICON  = 4    
  1175.     STF_MB_DEF   = 1 
  1176.  
  1177. [WantMSRasInstallENG]
  1178.     DlgType = "MessageBox"
  1179.     STF_MB_TITLE = "Acotec ISDN RasCapi Setup"
  1180.     STF_MB_TEXT  = +
  1181.     "The Acotec ISDN RasCapi driver installed or configured successful. "+
  1182.     "You must configure the Microsoft RAS for providing the ISDN lines. "$(!LF)+
  1183.     "Do you want call the installation of Microsoft RAS?"
  1184.     STF_MB_TYPE  = 3 
  1185.     STF_MB_ICON  = 4    
  1186.     STF_MB_DEF   = 1 
  1187.  
  1188.  
  1189. [CheckReallyCancel]
  1190.  
  1191.     Shell "" GetLanguage
  1192.     read-syms WillCancelMessageDlg$(!Language) 
  1193.     ui start "CustomMessageBox"
  1194.     ifstr(i) $(DLGEVENT) == "YES" 
  1195.         return "USER_CANCEL"
  1196.     endif        
  1197.     return ""
  1198.  
  1199. [WillCancelMessageDlgGER]
  1200.     DlgType = "MessageBox"
  1201.     STF_MB_TITLE = "Acotec ISDN RasCapi Setup"
  1202.     STF_MB_TEXT  = +
  1203.     "Wollen Sie die Installation des Acotec ISDN RasCapi Treibers wirklich abbrechen?"
  1204.     STF_MB_TYPE  = 3 
  1205.     STF_MB_ICON  = 3    
  1206.     STF_MB_DEF   = 1 
  1207.  
  1208. [WillCancelMessageDlgENG]
  1209.     DlgType = "MessageBox"
  1210.     STF_MB_TITLE = "Acotec ISDN RasCapi Setup"
  1211.     STF_MB_TEXT  = +
  1212.     "Do you want really quit the installation of Acotec ISDN RasCapi drivers?"
  1213.     STF_MB_TYPE  = 3 
  1214.     STF_MB_ICON  = 3    
  1215.     STF_MB_DEF   = 1 
  1216.  
  1217. [StfVariableSyms]
  1218.     !ProcessorID_I386  = I386
  1219.     !ProcessorID_I486  = I486
  1220.     !ProcessorID_I586  = I586
  1221.     !ProcessorID_R4000 = R4000
  1222.     !ProcessorID_Alpha = Alpha_AXP
  1223.     !ProcessorID_PPC601  = PPC601
  1224.     !ProcessorID_PPC603  = PPC603
  1225.     !ProcessorID_PPC604  = PPC604
  1226.     !ProcessorID_PPC620  = PPC620
  1227.     !PlatformID_I386   = I386
  1228.     !PlatformID_Mips   = Mips
  1229.     !PlatformID_Alpha  = Alpha
  1230.     !PlatformID_PPC    = ppc
  1231.     !STF_PRODUCT        = WINNT    
  1232.     !STF_USERNAME       = ""       
  1233.     !STF_INSTALL_MODE   = "CUSTOM" 
  1234.     !STF_UPDGRADE       = NO       
  1235.     !STF_NCDETECT       = NO       
  1236.     !STF_NCOPTION       = ""       
  1237.     !STF_NCDETCARD      = 99999    
  1238.     !STF_NCDETINFO      = {}       
  1239.     !STF_NC_PARAMS      = {}       
  1240.     !STF_NC_PNAMES      = {}       
  1241.     !STF_SRCDIR_KEYED   = ""       
  1242.     !STF_SRCDIR_USED    = ""       
  1243.     !STF_SRCDIR_OVERRIDE = ""      
  1244.     !STF_SRCDIR_WINNT   = ""       
  1245.     !STF_TEMPLATE_CRITERR = "CRITERR2"
  1246.     !STF_TEMPLATE_NONCRITERR = "NONCRITERR2"
  1247.     !STF_INSTALLED_OS = {} ? $(!LIBHANDLE) GetInstalledOSNames
  1248.     FatalErrorIndex = 1
  1249.     Exit_Code = 0
  1250.  
  1251. [StfVariableDetect]
  1252.     !STF_PROCESSOR        = "" ? $(!LIBHANDLE) GetProcessor
  1253.     !STF_PLATFORM        = "I386"        
  1254.     !STF_LANGUAGE        = "" ? $(!LIBHANDLE) GetLanguage
  1255.     LanguageList        = ^(LanguageID, 1)
  1256.     !STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
  1257.     !STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
  1258.     !STF_NTPATH         = $(!STF_WINDOWSPATH)
  1259.     !STF_COMPUTERNAME   = "" ? $(!LIBHANDLE) GetMyComputerName
  1260.     !STF_BUSTYPE        = "" ? $(!LIBHANDLE) GetMyBusType
  1261.     !STF_BUSTYPELIST    = "" ? $(!LIBHANDLE) GetMyBusTypeList
  1262.  
  1263. [ExeStart]
  1264.  
  1265.     LoadLibrary "y" $(!STF_CWDDIR)"ncpa.cpl"        !NCPA_HANDLE
  1266.     LoadLibrary "x" $(!STF_CWDDIR)"setupdll.dll"    !LIBHANDLE
  1267.  
  1268.     read-syms    StfVariableSyms
  1269.     read-syms    StfVariableDetect
  1270.     detect        StfVariableDetect
  1271.  
  1272.     Shell "" GetLanguage
  1273.  
  1274.     set !NTN_SoftwareBase = "SOFTWARE"
  1275.     set !NTN_ServiceBase  = "SYSTEM\CurrentControlSet\SERVICES"
  1276.     set !NTN_InstallMode = $(InstallMode)
  1277.     set SRCDir = $(SrcPath)
  1278.  
  1279.     set !ExeCalled = TRUE
  1280.     set !EndText = ""
  1281.     set !ExitCondition = "CANCEL"
  1282.  
  1283.     Shell "" InstallOption ENG AcoRasCapi $(SRCDir) YES YES YES
  1284.  
  1285.     ifstr(i) $($R0) == STATUS_USERCANCEL
  1286.         ;// no actions required
  1287.     else 
  1288.         ;// Bindings analyse
  1289.         LibraryProcedure Result $(!NCPA_HANDLE),"CPlSetup" $(!STF_HWND),"NCPA"
  1290.     endif
  1291.  
  1292.     ifstr(i) $(!EndText) != ""
  1293.         Shell "SUBROUTN.INF" SetupMessage,$(!STF_LANGUAGE),"STATUS",$(!EndText)
  1294.     endif
  1295.  
  1296. ;// write Exφtcondition by registry
  1297.     set MAXPERM    = 33554432
  1298.  
  1299.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase) $(MAXPERM) ServKey
  1300.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AcotecTempKey" $(MAXPERM) Key
  1301.     ifstr $(Key) == ""
  1302.         set NewKey = {"AcotecTempKey",$(NoTitle),""} 
  1303.         CreateRegKey $(ServKey) $(NewKey) "" $(!REG_KEY_ALL_ACCESS) "" Key
  1304.     endif
  1305.  
  1306.     SetRegValue $(Key) {"BootCondition",0,1,$(!ExitCondition)}
  1307.     CloseRegKey $(Key)
  1308.     CloseRegKey $(ServKey)
  1309.         
  1310.     exit 
  1311.  
  1312. [Shell Commands]
  1313. ;//    test environment
  1314.     set !STF_WINDOWSSYSPATH = "c:\winnt4\system32"
  1315.     read-syms GeneralConstants
  1316.     Shell "" GetLanguage
  1317.     read-syms FileConstants$(!Language)
  1318.     set !STF_LANGUAGE = ENG
  1319.  
  1320.     LoadLibrary "" $(SetupPath)    !SetupHandle
  1321.     
  1322.     Shell "SUBROUTN.INF" SetupMessage,ENG,"STATUS",$(!SetupHandle)
  1323.  
  1324.     LibraryProcedure Result $(!SetupHandle) AcoRasCleanUp
  1325.  
  1326. exit
  1327.