Solved

Group Policy Software Installation - Unable to read MSI file

Posted on 2010-11-15
15
1,011 Views
Last Modified: 2012-05-10
This question is related to the one at this link: http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/2003_Server/Q_26554295.html

I never did get a solution. After adding the MSI to the group policy, the event viewer comes up with the error "Unable to read MS file... SQL query syntax invalid or unsupported". Screenshot attached. What is the problem? Event Viewer message
0
Comment
Question by:cpeele
  • 8
  • 7
15 Comments
 

Author Comment

by:cpeele
Comment Utility
Additional Notes: The MSI is a package build with the IEAK. It works fine when run manually.
0
 
LVL 21

Expert Comment

by:Joseph Moody
Comment Utility
Will it work fine if you run msiexec /i "PATH TO MSI" /quiet?
0
 

Author Comment

by:cpeele
Comment Utility
Yes it runs with that command.
0
 
LVL 21

Expert Comment

by:Joseph Moody
Comment Utility
And you are repackaging IE8 to distribute?
0
 

Author Comment

by:cpeele
Comment Utility
What I did was create an MSI that has custom settings for IE and is a silent install. The latter being the main reason for creating the MSI. We have a lot of systems with IE6 and want to upgrade them easily.
0
 
LVL 21

Expert Comment

by:Joseph Moody
Comment Utility
Can you not deploy it through WSUS?
0
 

Author Comment

by:cpeele
Comment Utility
I don't have WSUS. I plan on installing it at some point. But I have to get a server set up first. Also, as far as I understand it, and correct me if I'm wrong, I would just be able to approve it for install, and not actually control the install. i.e. force it to be installed, and make it silent.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:cpeele
Comment Utility
I would still like to know what this SQL error is about either way...
0
 
LVL 21

Accepted Solution

by:
Joseph Moody earned 500 total points
Comment Utility
It would install silently and you can configure everything in group policy. My guess (and only a guess) is that like a lot of new Microsoft releases, they aren't supported through normal GP MSI deployment.

Instead, it seems that they want them to be installed through WSUS or through SMS (or whatever they call it these days).

If you would like, I can give you a startup script that will allow you to run the msiexec command one time per computer. If msiexec worked manually, this script should work.
0
 

Author Comment

by:cpeele
Comment Utility
OK. Yeah if you don't mind I'd like to see the script. Not sure when I will get WSUS up and the old IE is causing users a lot of issues when viewing needed websites so it's kind of pressing right now. Thanks for your help.
0
 
LVL 21

Expert Comment

by:Joseph Moody
Comment Utility
I attached the vbs script.

At the top, you will need to edit the asoftware (0,0) through aSoftware (0,2)

(0,0): Name of Software
(0,1): Path to batch fil that runs MSIEXEC. You have to do that so that it will stay silent
(0,2): Fake file. I occassionally use this line to run NTFS security scripts.

At startup, this script will run. It will call 0,1 and install IE8. Upon finishing, it will write IE8 (or whatever value you have in 0,0 to a hidden file at C:\. At the next startup, it will check to see if IE8 is written to that file. If it is, the script terminiates.

Const ForReading = 1, ForWriting = 2

   newFile = 0

   Dim aSoftware(0, 2)

   aSoftware(0,0) = "IE8"

   aSoftware(0,1) = "UNC to batch file that runs MSIEXEC command"

   aSoftware(0,2) = "Fake File somewhere"



      

   On Error Resume Next

   Set WshShell = CreateObject("WScript.Shell")

   Set fso = CreateObject("Scripting.FileSystemObject")



   If fso.FileExists("C:\IS.dat") = 0 Then    'If file is present, read contents to determine installed software

     Set fDataFile = fso.CreateTextFile("C:\IS.dat", True)

     fDataFile.close

     set f = fso.GetFile("C:\IS.dat")

     f.attributes = 6

     newFile = 1

   End If



   Set fDataFile = fso.OpenTextFile("C:\IS.dat", ForReading)

   Do While Not fDataFile.AtEndOfStream

     strSoftware = fDataFile.ReadLine

   Loop

   fDataFile.close

   aLoadedSoftware = Split(strSoftware, ",", -1, 1)



   For o = 0 To UBound(aSoftware)

     found = 0

     For i = 0 to UBound(aLoadedSoftware)

       If aSoftware(o, 0) = aLoadedSoftware(i) Then

         found = 1

         i = UBound(aLoadedSoftware)

       End If

     Next

     If found = 0 Then

       If newFile = 1 Then

         strSoftware = aSoftware(o, 0)

         newFile = 0

       Else

         strSoftware = strSoftware & "," & aSoftware(o, 0)

       End If

       set f = fso.GetFile("C:\IS.dat")

       f.attributes = 0

       Set fDataFile = fso.OpenTextFile("C:\IS.dat", ForWriting, True)

       fDataFile.writeLine strSoftware

       fDataFile.close

       f.attributes = 6



       If Not IsEmpty(aSoftware(o, 1)) And aSoftware(o, 1) <> "" Then

         Set oExec = WshShell.Exec(aSoftware(o, 1))

         Do While oExec.Status = 0

           WScript.Sleep 100

         Loop

       End If

       If Not IsEmpty(aSoftware(o, 2)) And aSoftware(o, 2) <> "" Then

         Set oShell = WScript.CreateObject ("WSCript.shell")

         oShell.run aSoftware(o, 2), 0, true

         Set oShell = Nothing

       End If

     End If

   Next

Open in new window

0
 

Author Comment

by:cpeele
Comment Utility
Thanks I will give it a shot!
0
 
LVL 21

Expert Comment

by:Joseph Moody
Comment Utility
Ok. Let me know if you have any issues.
0
 

Author Comment

by:cpeele
Comment Utility
I couldn't get the script to work, it ran on startup but did not install IE8. However, I think I will just go ahead and get WSUS set up as it seems like the best route. Thank you.
0
 
LVL 21

Expert Comment

by:Joseph Moody
Comment Utility
No problem.
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Join & Write a Comment

Suggested Solutions

Companies that have implemented Microsoft’s Active Directory need to ensure that the Active Directory is configured and operating properly. If there are issues found and not resolved, it eventually leads the components to fail or stop working and fi…
Synchronize a new Active Directory domain with an existing Office 365 tenant
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles to another domain controller. Log onto the new domain controller with a user account t…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now