Solved

Group Policy Software Installation - Unable to read MSI file

Posted on 2010-11-15
15
1,026 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
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

This article demonstrates probably the easiest way to configure domain-wide tier isolation within Active Directory. If you do not know tier isolation read https://technet.microsoft.com/en-us/windows-server-docs/security/securing-privileged-access/s…
Always backup Domain, SYSVOL etc.using processes according to Microsoft Best Practices. This is meant as a disaster recovery process for small environments that did not implement backup processes and did not run a secondary domain controller that ne…
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 from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…

696 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