Solved

Group Policy Software Installation - Unable to read MSI file

Posted on 2010-11-15
15
1,025 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

 
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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

In this article, I am going to show you how to simulate a multi-site Lab environment on a single Hyper-V host. I use this method successfully in my own lab to simulate three fully routed global AD Sites on a Windows 10 Hyper-V host.
This article outlines the process to identify and resolve account lockout in an Active Directory environment.
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…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

738 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