EfrenM
asked on
Auto install .MSI trouble
Good Afternoon All
I need help lol :( , we have a Windows 2003 server and Active Directory installed, everything is running good. Today via a GPO i deployed a software abc.msi to install based on user. cant use computer based.
i created a new software installation Package and it is working fine when the user logs on the abc.msi installs.
heres the problem when a user logs in remotely to one of the servers the abc.msi also installs =\ , is there anyway that i can make the gpo check the windows version before the msi installs? or can i edit the .msi to check the os version and deny if it is not windows xp pro?
Thanks all,
I need help lol :( , we have a Windows 2003 server and Active Directory installed, everything is running good. Today via a GPO i deployed a software abc.msi to install based on user. cant use computer based.
i created a new software installation Package and it is working fine when the user logs on the abc.msi installs.
heres the problem when a user logs in remotely to one of the servers the abc.msi also installs =\ , is there anyway that i can make the gpo check the windows version before the msi installs? or can i edit the .msi to check the os version and deny if it is not windows xp pro?
Thanks all,
ASKER
any idea how to make it look for xp only then launch the msi if it is xp?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
it worked and thank you very much, :) now time to test it lol, make sure it doesnt auto reinstall everytime i log in lol, well thats a different issue
Also, I know you said that it can't be computer based, but did you mean that in the sense of not being able to supply a list of computers to install on?
What about the option to supply a list of computers NOT to install on? It seems in the permissions of the group policy, you could add the servers to the list and set deny permissions for them. Might be a better solution as you can still have windows manage and track the installs, to make sure it doesn't try to reinstall.
What about the option to supply a list of computers NOT to install on? It seems in the permissions of the group policy, you could add the servers to the list and set deny permissions for them. Might be a better solution as you can still have windows manage and track the installs, to make sure it doesn't try to reinstall.
(for the purposes of knowledge base)
There are two ways:
1. create a transform for abc.msi; you can use ORCA; what you have to do is add row in the table LaunchCondition; the row would have
condition = NOT VersionNT OR VersionNT <> 501
Desription = <the message you want>
The values for different o/s such as 501 are at this page:
http://msdn.microsoft.com/en-us/library/aa370556(VS.85).aspx
or
2. (preferred) create WMI filter and specify it for the group policy. Filter such as
select * from win32_operatingsystem where buildnumber = 2600
would do.
Also, maybe it's not such a good idea when users are allowed to log on on the server. Depends on the circumstances of course.
There are two ways:
1. create a transform for abc.msi; you can use ORCA; what you have to do is add row in the table LaunchCondition; the row would have
condition = NOT VersionNT OR VersionNT <> 501
Desription = <the message you want>
The values for different o/s such as 501 are at this page:
http://msdn.microsoft.com/en-us/library/aa370556(VS.85).aspx
or
2. (preferred) create WMI filter and specify it for the group policy. Filter such as
select * from win32_operatingsystem where buildnumber = 2600
would do.
Also, maybe it's not such a good idea when users are allowed to log on on the server. Depends on the circumstances of course.
ASKER
that is a good idea, :) let me look into it. for now this is what i am experimenting with
This one is at logon, its a batch file
VER | FIND /I "XP"
IF %ERRORLEVEL%==0 \\123.123.12.123\abc.vbs
This is the vbs code checks if product is installed if it is it will popup a window Note " going to remove that feature" if its not it will install it.
Dim installer
Dim bFoundProduct
'Needs to be changed to path of msi
Const PATHTOMSI = "\\123.123.12.123\abc.msi"
Set installer = Wscript.CreateObject("Wind owsInstall er.Install er")
Set products = installer.Products
bFoundProduct = False
For Each product In products
If product = "{**********-0B00-******-* ********}" Then <---- Used ORCA to find this out :)
bFoundProduct = True
Exit For
End If
Next
If bFoundProduct Then <---- Going to remove pop window
MsgBox "Found Product" & " " & product & " " & "- No Action Necessary " Else
installer.InstallProduct PATHTOMSI
End If
set installer = Nothing
This one is at logon, its a batch file
VER | FIND /I "XP"
IF %ERRORLEVEL%==0 \\123.123.12.123\abc.vbs
This is the vbs code checks if product is installed if it is it will popup a window Note " going to remove that feature" if its not it will install it.
Dim installer
Dim bFoundProduct
'Needs to be changed to path of msi
Const PATHTOMSI = "\\123.123.12.123\abc.msi"
Set installer = Wscript.CreateObject("Wind
Set products = installer.Products
bFoundProduct = False
For Each product In products
If product = "{**********-0B00-******-*
bFoundProduct = True
Exit For
End If
Next
If bFoundProduct Then <---- Going to remove pop window
MsgBox "Found Product" & " " & product & " " & "- No Action Necessary " Else
installer.InstallProduct PATHTOMSI
End If
set installer = Nothing
You don't need to put up login script if the same can be achieved with regular ways.
Package installed by the GPO directly, not via script, becomes "managed", so it will be uninstalled if you remove it from the policy; it will be installed automatically basing on file extension (see my article for details) , and more.
Package installed by the GPO directly, not via script, becomes "managed", so it will be uninstalled if you remove it from the policy; it will be installed automatically basing on file extension (see my article for details) , and more.
ASKER
you are a genious lol, it worked like a charm :) , time to start reading into WMI
Thanks a mill Vadimrapp1
Thanks a mill Vadimrapp1
> time to start reading into WMI
WMI and relative things (ADSI and some others) are quite extensive and ugly areas. Get yourself Scriptomatic or WMI Code Creator (google is your friend), and it will create for you the code you want.
WMI and relative things (ADSI and some others) are quite extensive and ugly areas. Get yourself Scriptomatic or WMI Code Creator (google is your friend), and it will create for you the code you want.
See this MS KB article regarding detecting the OS of a computer in a logon script.:
http://support.microsoft.com/kb/190899