New to Distibution
I'm pretty new to this, but I think I have sort of got the hang of it. Right now I have a Google Toolbar and Adobe Acrobat Reader 6.0 ready to be deployed. I have logon scripts for both of them that I am going to add to the group policy when I am ready. The only question I had is this: How does it know to only install a program once? Is it automated so that if the computer already has the software installed it will skip over it, or does it re-install it regardless? If the answer is the later, is there a way to change it, and if so would it be a group policy setting, or would I need to script it in? Thanks.
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
bkelly
20 years ago
Posted by:
Grime
20 years ago
Ok, well let me be more specific then. In the Computer Configuration section of the group policy under the Windows Installations I have two installs. One is a Symantec Ghost .msi installer, and the other is a Windows Auto-Update installer (redirects clients to the local server for updates). I also have two install scripts running in the Startup scripts area of the group policy under the Computer Configuration. One is Acrobat Reader 6.0.1, and the other is a Google Toolbar install script. From your reply I take it I don't need to worry about the Windows Installations I mentioned, but for the script installations, I should add something at the beginning of the scripts that says basically if the google toolbar folder does not exist, run the rest of the script, else exit the script. I've never really coded VBScript before. Can anyone tell me how to do that?
Posted by:
bkelly
20 years ago
I normally use KiXtart myself, but the idea should be the same. Something along these lines should work:
Particularly if you do not have a scripting background, KiXtart is very easy and powerful. You can download KiXtart (you just need one EXE, it does not need to be "installed") and find out more about it at http://www.kixscripts.com
Anyone care to translate this little script to VBS?
If readvalue("HKLM\Software\MyPackages","Acrobat601") <> "Installed"
Shell "msiexec \\server\share\folder\Acrobat601.msi /i /qb"
$ = writevalue("HKLM\Software\MyPackages","Acrobat601","Installed","REG_SZ")
EndIf
If readvalue("HKLM\Software\MyPackages","WinAutoUpdate") <> "Installed"
Shell "msiexec \\server\share\folder\WinAutoUpdate.msi /i /qb"
$ = writevalue("HKLM\Software\MyPackages","WinAutoUpdate","Installed","REG_SZ")
EndIf
Particularly if you do not have a scripting background, KiXtart is very easy and powerful. You can download KiXtart (you just need one EXE, it does not need to be "installed") and find out more about it at http://www.kixscripts.com
Anyone care to translate this little script to VBS?
Posted by:
Grime
20 years ago
Yeah, I'm going to need a little more help :). I haven't used Visual Basic Before. I've programmed quite a bit, but not in VB yet. As for KiXtart, I took a look at it, and even downloaded it, but it just didn't seem as easy to implament as VBScript because I was under the impression that you had to install some sort of engine or something on each of the clients, and that sort of defeated the purpose for me because I didn't think having to create ANOTHER logon script would solve the problems I had with logon scripts I already had. If that makes any sense.... But, you are saying that I would not have to install any type of KiXtart engine on the clients to run the scripts?
Posted by:
bkelly
20 years ago
You do need the KiXtart EXE somewhere on your network (or in your package) to run KiXtart scripts- but no installation is required. Depending upon your network, you may need to ensure you have the needed Windows Script Host deployed in order to use VBS. I wrote a paper on how to go about using the KiXscripts Editor ($40) to wrap the script in an EXE file along with the KiXtart executable to be used in custom actions. Depending upon the tools you have a available, you may be able to use WiseScript or InstallShield script to perform similar tasks- WiseScript is pretty easy. The article on using KiXtart in custom actions is here: http://itninja.com/blog/view/appdeploy:-articles:-msi-custom-actions-w/package-studio-and-kixtart
Hope this helps!
Hope this helps!
Posted by:
bkelly
20 years ago
Actually, looking at your original post- why are you not simply assigning the MSI packages to target machines? For the purpose of installing an MSI package- assignment or advertisement via group policy seems the better solution. I would recommend trying to limit use of the logon script for software installation.
Posted by:
Toupeiro
20 years ago
At my current place of employment, I'm using login scripts to push out all of my applications, because we are not at AD yet, and we do not have an SMS client in place. Here are some examples I use to deploy applications, maybe they can help you. I'm not as up on VBScript as I should be, so I tend not to use it much.
IF EXIST "C:\directory\app_install.log" GOTO appPASS1
Echo Installing application_name...
msiexec /i "\\servername\sharepoint\app.msi" /QN
echo Installed application_name to %Computername% successfully at %date%,%time% >> c:\directory\app_install.log
:appPASS1
If you do not like to use logfiles, you can use a directory path like you were talking about. I like logfiles, because in the event I ever need to reinstall the package, I can do so manually, or simply remove the logfile (in a batch job or individually), and the application will reinstall on the next login. Or, I can tell the script to create a new logfile name, perhaps with the date in the name as well using the %date% variable, so it will do this for everyone that logs in.
If you have different flavours of Windows out there, I found this is the best model:
Ver|Find "Windows 98">NUL
IF NOT ErrorLevel 1 goto 98
Ver|Find "Windows 2000">NUL
IF NOT ErrorLevel 1 goto 2k
:98
msiexec "appname"
goto pass
:2k
msiexec "appname"
goto pass
:pass
So there are plenty of different options you have to scope msi installations via login script without using VBScript. I hope this helps you out!
IF EXIST "C:\directory\app_install.log" GOTO appPASS1
Echo Installing application_name...
msiexec /i "\\servername\sharepoint\app.msi" /QN
echo Installed application_name to %Computername% successfully at %date%,%time% >> c:\directory\app_install.log
:appPASS1
If you do not like to use logfiles, you can use a directory path like you were talking about. I like logfiles, because in the event I ever need to reinstall the package, I can do so manually, or simply remove the logfile (in a batch job or individually), and the application will reinstall on the next login. Or, I can tell the script to create a new logfile name, perhaps with the date in the name as well using the %date% variable, so it will do this for everyone that logs in.
If you have different flavours of Windows out there, I found this is the best model:
Ver|Find "Windows 98">NUL
IF NOT ErrorLevel 1 goto 98
Ver|Find "Windows 2000">NUL
IF NOT ErrorLevel 1 goto 2k
:98
msiexec "appname"
goto pass
:2k
msiexec "appname"
goto pass
:pass
So there are plenty of different options you have to scope msi installations via login script without using VBScript. I hope this helps you out!
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.