Re: ADO in HTA script fails in Windows PE

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Johan Arwidmark (johan.please_respond_to_forum.arwidmark_at_lutteman.se)
Date: 08/31/04


Date: Tue, 31 Aug 2004 16:56:22 +0200

Yes, hta is a great way to build some nice frontends for the
technicians using Windows PE. I have used this to build forms for the
technicians to fill in when deploying new computers (eg stuff like,
computer name, department, site, computer model etc...)

If you want some examples for passing parameters and working with
different pages, download the BDD from Microsoft
http://www.microsoft.com/downloads/details.aspx?FamilyID=8399e935-9975-41a6-95e4-2250078e1f36&DisplayLang=en
Extract the Solution Sample Code\Deployment Server.zip file and look
at the Setup.hta file

You might also want to download the scriptomatic tool which itself is
an hta-application....

If you want to learn more about building HTA apps I recommend viewing
this really great webcast given by Greg Stemp (Scripting Guys)

Put the Scripting Guys Out of Business: Learn to Create Your Own HTAs
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032240018&Culture=en-US

regards
Johan Arwidmark

Windows User Group - Nordic
http://www.wug-nordic.net

On Tue, 31 Aug 2004 11:42:01 +0200, "Koen" <abuse@microsoft.com>
wrote:

>Hello Johan,
>
>Thank you verry much for all your help so far. I have tried the new
>buildoptionalcomponents.vbs, and the test vbs file indeed works. But the
>original test sql test vbs file with the original
>buildoptionalcomponents.vbs did also work. My problem only occures when i
>try to use sql connections from a vb script in a hta file. The reason why i
>want to do this is because i still haven't found a decent way to control a
>hta from a vbs file or backwards, and with controlling i dont mean like
>putting data from a script in a file and reading it from the second
>sctipt... i have noticed that you can id - tag an hta script, but have not
>figured out the use of that funtion yet. Oh by the way the reason thy i use
>hta's is becouse i need some sort of scripted user interface.
>
>Gr, Koen.
>
>"Johan Arwidmark" <johan.please_respond_to_forum.arwidmark@lutteman.se>
>wrote in message news:stevi01gqae0ei0n0i632auo4i70atu9ui@4ax.com...
>> Follow up, check this (brand new) article
>>
>> How to add ADO (SQL Server Connectivity) to Windows PE (WinPE)
>> http://www.wug-nordic.net/articles/winpe_sql.htm
>>
>> regards
>> Johan Arwidmark
>>
>> Windows User Group - Nordic
>> http://www.wug-nordic.net
>>
>>
>> On Mon, 23 Aug 2004 06:33:01 -0700, "Koen"
>> <Koen@discussions.microsoft.com> wrote:
>>
>> >Hello,
>> >
>> >In our company we are developing a Windows installation
>> >system (Using RIS, SQL server and Windows PE) that users
>> >can operate themselves. Becouse we have diffrent hardware
>> >and environments there are multiple systems the user can
>> >choose from.
>> >
>> >I've created (with help from ms examples) a HTA wich
>> >connects to a SQL server and fetches the possible options
>> >the user can choose from. when the user selects a certain
>> >hardware config (WMI could do a great job here) the next
>> >pull down list is dynamically filled by an SQL query that
>> >selects only the posible options for that hardware
>> >configuration. I'm running this in a test configuration on
>> >win2k client and win2k3 server and the script works great.
>> >But when i try to run it on Windows PE (With HTA ADO WSH
>> >support) the HTA loads but there are no pull down menu's
>> >at all, probably meanig there is something wrong but
>> >becouse Windows PE doesn't have sufficient error debugging
>> >options installed i don't get to see what went wrong...
>> >
>> >(by the way, sql is not only used to build the menus but
>> >also for other purposes that are absolutely necessary.)
>> >
>> >Thank you for any effort on helping me!
>> >
>> >Koen.
>> >
>> >Below i've inserted the script:
>> >
>> >--- Script begin ---
>> ><html>
>> ><head>
>> ><title>Company Werkplek Installatie Systeem</title>
>> ><HTA:APPLICATION
>> > ID="objGWIS"
>> > WINDOWSTATE="maximize"
>> > BORDER="none"
>> > INNERBORDER="no"
>> > SHOWINTASKBAR="no"
>> > SCROLL="no"
>> > APPLICATIONNAME="Company Werkplek Installatie
>> >Systeem"
>> > NAVIGABLE="yes">
>> ><meta name=vs_targetSchema content="HTML 4.0">
>> >
>> ><script id=clientEventHandlersVBS language=vbscript>
>> ><!--
>> >
>> > DefaultComputer = "."
>> >
>> >Sub Window_Onload
>> > set objDBConnection = Wscript.CreateObject
>> >("ADODB.Connection")
>> > set RS = Wscript.CreateObject("ADODB.Recordset")
>> > SERVER = "192.168.2.1"
>> > USERNAME = "gwis"
>> > PWD = "gwis"
>> > Catalog = "Images"
>> > objDBConnection.open "Provider=SQLOLEDB;Data
>> >Source="&SERVER&";Initial Catalog="&Catalog&";User
>> >ID="&USERNAME&";Password="&PWD&";"
>> > SQLQuery1 ="SELECT distinct Images.Omgeving FROM
>> >Images"
>> > Set GetRS = objDBConnection.Execute(SQLQuery1)
>> > GetRS.MoveFirst
>> > strHTML = "<select style='WIDTH: 221px'
>> >onChange=""GetComputers()"" name=OmgevingLijst>"
>> > strHTML = strHTML & "<option value= " & chr(34) & chr
>> >(34) & ">"
>> > Do Until GetRS.EOF
>> > strHTML = strHTML & "<option value= " & chr(34)
>> >& GetRS.Fields.Item("Omgeving") & chr(34) & ">" &
>> >GetRS.Fields.Item("Omgeving")
>> > GetRS.MoveNext
>> > Loop
>> > strHTML = strHTML & "</select>"
>> > OmgevingArea.InnerHTML = strHTML
>> > HelpArea.InnerHTML = ""
>> >End Sub
>> >
>> >Sub GetComputers ()
>> > On Error Resume Next
>> > FilterValue = OmgevingLijst.Value
>> > set objDBConnection = Wscript.CreateObject
>> >("ADODB.Connection")
>> > set RS = Wscript.CreateObject("ADODB.Recordset")
>> > SERVER = "192.168.2.1"
>> > USERNAME = "gwis"
>> > PWD = "gwis"
>> > Catalog = "Images"
>> > objDBConnection.open "Provider=SQLOLEDB;Data
>> >Source="&SERVER&";Initial Catalog="&Catalog&";User
>> >ID="&USERNAME&";Password="&PWD&";"
>> > SQLQuery1 ="Select Distinct Images.Computer FROM
>> >Images Where Omgeving = '" & FilterValue & "'ORDER BY
>> >Images.Computer"
>> > Set GetRS = objDBConnection.Execute(SQLQuery1)
>> > GetRS.MoveFirst
>> > strHTML = "<select style='WIDTH: 221px'
>> >onChange=""GetImage()"" name=ComputerLijst>"
>> > strHTML = strHTML & "<option value= " & chr(34) & chr
>> >(34) & ">"
>> > Do Until objRecordSet.EOF
>> > strHTML = strHTML & "<option value= " & chr(34) &_
>> > objRecordSet.Fields.Item("Computer") & chr(34)
>> >&_
>> > ">" & objRecordSet.Fields.Item("Computer")
>> > objRecordSet.MoveNext
>> > Loop
>> > strHTML = strHTML & "</select>"
>> > ComputerArea.InnerHTML = strHTML
>> > HelpArea.InnerHTML = ""
>> > objRecordSet.Close
>> > objConnection.Close
>> >End Sub
>> >
>> >Sub GetImage ()
>> > On Error Resume Next
>> > FilterValue = OmgevingLijst.Value
>> > FilterValue2 = ComputerLijst.Value
>> > set objDBConnection = Wscript.CreateObject
>> >("ADODB.Connection")
>> > set RS = Wscript.CreateObject("ADODB.Recordset")
>> > SERVER = "192.168.2.1"
>> > USERNAME = "gwis"
>> > PWD = "gwis"
>> > Catalog = "Images"
>> > objDBConnection.open "Provider=SQLOLEDB;Data
>> >Source="&SERVER&";Initial Catalog="&Catalog&";User
>> >ID="&USERNAME&";Password="&PWD&";"
>> > SQLQuery1 ="SELECT Images.Bestand FROM Images Where
>> >Omgeving = '" & FilterValue & "' AND Computer = '" &
>> >FilterValue2 & "'ORDER BY Images.Bestand"
>> > Set GetRS = objDBConnection.Execute(SQLQuery1)
>> > 'GetRS.MoveFirst
>> > sHTML = GetRS.Fields.Item("Bestand")
>> > if sHTML = "" then sHTML = "Geen Image"
>> > HelpArea.InnerHTML = sHTML
>> > objRecordSet.Close
>> > objConnection.Close
>> >End Sub
>> >
>> >Sub Button2_onclick
>> >Window.close ()
>> >End Sub
>> >
>> >-->
>> ></script>
>> ></head>
>> >
>> ><body SCROLL="no">
>> ><div class=Section1>
>> ><div align=center>
>> ><table class=MsoNormalTable border=0 cellspacing=0
>> >cellpadding=0 width="95%"
>> > style='WIDTH:95%;mso-cellspacing:0cm;mso-padding-alt:0cm
>> >0cm 0cm 0cm'>
>> > <tr style='HEIGHT:15.75pt;mso-yfti-irow:0'>
>> > <td width=495 colspan=3 rowspan=2 valign=top
>> >style='PADDING-RIGHT:0cm;
>> > PADDING-LEFT:0cm;
>> > BACKGROUND:#000099;
>> > PADDING-BOTTOM:0cm;
>> > WIDTH:371.25pt;
>> > PADDING-TOP:0cm;
>> > HEIGHT:15.75pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td width=382 valign=top style='PADDING-
>> >RIGHT:0cm;PADDING-LEFT:0cm;BACKGROUND:#000099;PADDING-
>> >BOTTOM:0cm;WIDTH:286.5pt;PADDING-TOP:0cm;HEIGHT:15.75pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:15.75pt'><span
>> >lang=EN-GB
>> > style="FONT-FAMILY: Arial; mso-ansi-language: EN-
>> >GB"> <font
>> > color=silver size=1>v1.0</font></span>
>> > </td>
>> > </tr>
>> > <tr style='HEIGHT:15.75pt;mso-yfti-irow:1'>
>> > <td width=382 rowspan=2 valign=top style='PADDING-
>> >RIGHT:0cm;PADDING-LEFT:0cm;PADDING-
>> >BOTTOM:0cm;WIDTH:286.5pt;PADDING-TOP:0cm;HEIGHT:15.75pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'> </p>
>> > <p class=MsoNormal><span
>> > style="FONT-FAMILY: Arial">
>> > <o:p></o:p></span></p><o:p></o:p></SPAN>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:15.75pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > </tr>
>> > <tr style='HEIGHT:38.25pt;mso-yfti-irow:2'>
>> > <td width="5%" valign=top style='PADDING-
>> >RIGHT:0cm;PADDING-LEFT:0cm;BACKGROUND:#000099;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:38.25pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td width=250 colspan=2 style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:187.5pt;PADDING-
>> >TOP:0cm;HEIGHT:38.25pt'>
>> > <p class=MsoNormal align=right style='TEXT-
>> >ALIGN:right'><b><i><span
>> > style='FONT-SIZE:18pt;COLOR:#0000a0;FONT-
>> >FAMILY:Tahoma'>Company Services IT</span></i></b><span
>> > style='FONT-FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:38.25pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p><font
>> > face=Tahoma></font></span></p>
>> > </td>
>> > </tr>
>> > <tr style='mso-yfti-irow:3'>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p><font
>> > face=Tahoma></font></span></p>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm'>
>> > <p class=MsoNormal align=center><span style='FONT-
>> >FAMILY:Arial'><font
>> > face=Tahoma></font></span></p>
>> > </td>
>> > <td width="80%" colspan=2 valign=top style='PADDING-
>> >RIGHT:0cm;PADDING-LEFT:0cm;PADDING-
>> >BOTTOM:0cm;WIDTH:80%;PADDING-TOP:0cm'><font
>> >color=background ><font
>> > color=background>
>> > <p align=center><br><strong><font face=Tahoma>Welkom
>> >bij het werkplek
>> > installatie systeem van Company Services
>> >IT.<br></font></strong><strong><font
>> > face=Tahoma>Klik op een van de knoppen om verder te
>> >gaan.</font></p>
>> > <p align=center><font face=Tahoma></font>
>> > <p><font face=Tahoma>
>> > <hr width="100%" size=1>
>> > </font></STRONG></font></font><font face=Tahoma
>> > size=2>Omgeving<br></font><span
>> >id="OmgevingArea"></span><br><font
>> > size=2><font face=Tahoma><font face=Tahoma
>> >size=2>Type
>> > Computer<br></font><span
>> >id="ComputerArea"></span><br>Partitie<br>Alleen C: Schijf
>> > <input id=Radio1 type=radio title="Alleen de C: schijf
>> >opnieuw aanmaken..." checked name=SchijfKeuze> C:
>> >& D:
>> > Schijf
>> > <input id=Radio2 type=radio title="De C: en D: schijf
>> >opnieuw aanmaken..." name=SchijfKeuze><br>
>> > <hr width="100%" size=1><span
>> >id="HelpArea"></span><BR>
>> >
>> > <p></p>
>> > <p align=left></font><br>
>> > <input id=Button1 type=button value=Starten title="Start
>> >de installatie..." style="WIDTH: 107px; HEIGHT: 29px"
>> >size=1 xmlns><font
>> > face=Tahoma> </font>
>> > <input id=Button2 title="Verlaat deze applicatie en
>> >herstart de computer..." style="WIDTH: 107px; HEIGHT:
>> >29px" type=button size=1 value=Stoppen><br></P></font>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > </tr>
>> > <tr style='HEIGHT:66pt;mso-yfti-irow:4'>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:66pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td colspan=3 valign=top style='PADDING-
>> >RIGHT:0cm;PADDING-LEFT:0cm;BACKGROUND:white;PADDING-
>> >BOTTOM:0cm;PADDING-TOP:0cm;HEIGHT:66pt'>
>> > <p class=MsoNormal style='MARGIN-LEFT:36pt'><span
>> >style='FONT-FAMILY:
>> > Arial'><o:p></o:p></span></p>
>> > <p class=MsoNormal style='MARGIN-LEFT:36pt'><span
>> >style='FONT-FAMILY:
>> > Arial'><font
>> > style="BACKGROUND-COLOR:
>> >silver"></font><o:p></o:p></span></p>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:66pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > </tr>
>> > <tr style='HEIGHT:36pt;mso-yfti-irow:5'>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:36pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td colspan=2 valign=top style='PADDING-
>> >RIGHT:0cm;PADDING-LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;PADDING-TOP:0cm;HEIGHT:36pt'>
>> > <p class=MsoNormal><span style='FONT-
>> >FAMILY:Arial'><o:p></o:p></span></p>
>> > </td>
>> > <td valign=top style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-BOTTOM:0cm;PADDING-
>> >TOP:0cm;HEIGHT:36pt'>
>> > <p class=MsoNormal align=right style='TEXT-
>> >ALIGN:right'><span lang=EN-GB
>> > style='FONT-SIZE:10pt;COLOR:white;FONT-FAMILY:Tahoma;mso-
>> >ansi-language:EN-GB'>Copyright 2004 by Company Services
>> >IT</span><span lang=EN-GB
>> > style='FONT-FAMILY:Arial;mso-ansi-language:EN-
>> >GB'><o:p></o:p></span></p>
>> > </td>
>> > <td width="5%" style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;BACKGROUND:#0080c0;PADDING-
>> >BOTTOM:0cm;WIDTH:5%;PADDING-TOP:0cm;HEIGHT:36pt'>
>> > <p class=MsoNormal><span lang=EN-GB style='FONT-
>> >FAMILY:Arial;mso-ansi-language:EN-
>> >GB'><o:p></o:p></span></p>
>> > </td>
>> > </tr>
>> > <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
>> > <td width=37 style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:27.75pt;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span lang=EN-GB style='FONT-FAMILY:
>> > Arial;mso-ansi-language:
>> > EN-GB'><font size=1><font
>> >color=gray><o:p></o:p></font></font></span></p>
>> > </td>
>> > <td width=37 style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:27.75pt;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span lang=EN-GB style='FONT-
>> >SIZE:1pt;FONT-FAMILY:Arial;mso-ansi-language:EN-
>> >GB'></span><span lang=EN-GB style='FONT-FAMILY:
>> > Arial;mso-ansi-language:
>> > EN-GB'><o:p></o:p></span></p>
>> > </td>
>> > <td width=322 style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:241.5pt;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span lang=EN-GB style='FONT-
>> >SIZE:1pt;FONT-FAMILY:Arial;mso-ansi-language:EN-
>> >GB'></span><span lang=EN-GB style='FONT-FAMILY:
>> > Arial;mso-ansi-language:
>> > EN-GB'><o:p></o:p></span></p>
>> > </td>
>> > <td width=276 style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:207pt;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span lang=EN-GB style='FONT-
>> >SIZE:1pt;FONT-FAMILY:Arial;mso-ansi-language:EN-
>> >GB'></span><span lang=EN-GB style='FONT-FAMILY:
>> > Arial;mso-ansi-language:
>> > EN-GB'><o:p></o:p></span></p>
>> > </td>
>> > <td width=37 style='PADDING-RIGHT:0cm;PADDING-
>> >LEFT:0cm;PADDING-BOTTOM:0cm;WIDTH:27.75pt;PADDING-TOP:0cm'>
>> > <p class=MsoNormal><span lang=EN-GB style='FONT-
>> >SIZE:1pt;FONT-FAMILY:Arial;mso-ansi-language:EN-
>> >GB'></span><span lang=EN-GB style='FONT-FAMILY:
>> > Arial;mso-ansi-language:
>> > EN-GB'><span lang=EN-GB
>> > style="FONT-FAMILY: Arial; mso-ansi-language: EN-
>> >GB"><font face=Arial
>> > color=gray
>> >size=1></font></span><o:p></o:p></span></p>
>> > </td>
>> > </tr>
>> ></table>
>> >
>> ></div>
>> >
>> ><p class=MsoNormal><span lang=EN-GB style='FONT-
>> >FAMILY:Arial;mso-ansi-language:EN-
>> >GB'><o:p></o:p></span></p>
>> >
>> ><p class=MsoNormal><span lang=EN-GB style='FONT-
>> >FAMILY:Arial;mso-ansi-language:EN-
>> >GB'><o:p></o:p></span></p>
>> >
>> ><p class=MsoNormal><span lang=EN-GB style='FONT-
>> >FAMILY:Arial;mso-ansi-language:EN-
>> >GB'><o:p></o:p></span></p>
>> >
>> ><p class=MsoNormal><span lang=EN-GB style='mso-ansi-
>> >language:EN-GB'><o:p></o:p></span></p>
>> >
>> ></div>
>> >
>> ></body>
>> >
>> ></html>
>> >--- Script End ---
>>
>


Quantcast