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

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

1
If you are doing it by logon script, it will not know- you will need to handle this in your logon script. If you are assigning it to a machine in group policy, it will do a quick check at each startup sequence to verify that the needed software is present on the system.
Answered 01/19/2004 by: bkelly
Red Belt

Please log in to comment
1
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?
Answered 01/19/2004 by: Grime
Senior Yellow Belt

Please log in to comment
1
I normally use KiXtart myself, but the idea should be the same. Something along these lines should work:

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?
Answered 01/20/2004 by: bkelly
Red Belt

Please log in to comment
1
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?
Answered 01/23/2004 by: Grime
Senior Yellow Belt

Please log in to comment
1
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!
Answered 01/23/2004 by: bkelly
Red Belt

Please log in to comment
1
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.
Answered 01/23/2004 by: bkelly
Red Belt

Please log in to comment
1
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!
Answered 11/30/2004 by: Toupeiro
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity