Solved

Group Policy Software Installation - Unable to read MSI file

Posted on 2010-11-15
15
1,018 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
ID: 34136569
Additional Notes: The MSI is a package build with the IEAK. It works fine when run manually.
0
 
LVL 22

Expert Comment

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

Author Comment

by:cpeele
ID: 34138104
Yes it runs with that command.
0
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!

 
LVL 22

Expert Comment

by:Joseph Moody
ID: 34138442
And you are repackaging IE8 to distribute?
0
 

Author Comment

by:cpeele
ID: 34138901
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 22

Expert Comment

by:Joseph Moody
ID: 34138962
Can you not deploy it through WSUS?
0
 

Author Comment

by:cpeele
ID: 34139062
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
 

Author Comment

by:cpeele
ID: 34139066
I would still like to know what this SQL error is about either way...
0
 
LVL 22

Accepted Solution

by:
Joseph Moody earned 500 total points
ID: 34139204
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
ID: 34139336
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 22

Expert Comment

by:Joseph Moody
ID: 34139430
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
ID: 34139839
Thanks I will give it a shot!
0
 
LVL 22

Expert Comment

by:Joseph Moody
ID: 34140024
Ok. Let me know if you have any issues.
0
 

Author Comment

by:cpeele
ID: 34140063
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 22

Expert Comment

by:Joseph Moody
ID: 34140079
No problem.
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

On July 14th 2015, Windows Server 2003 will become End of Support, leaving hundreds of thousands of servers around the world that still run this 12 year old operating system vulnerable and potentially out of compliance in many organisations around t…
While rebooting windows server 2003 server , it's showing "active directory rebuilding indices please wait" at startup. It took a little while for this process to complete and once we logged on not all the services were started so another reboot is …
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 from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…
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…

813 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

12 Experts available now in Live!

Get 1:1 Help Now