luckycharmsjj Posted January 2, 2013 Share Posted January 2, 2013 I'm new to this program and some of the scripting that it may require. I'm using this to update several computers, and I'm looking for how to create a script to uninstall the current antivirus software before installing a new one.I know I can retrieve the current program using the getAntiVirusProduct() condition, and I've found a command that can uninstall it from the command line:wmic product where name="AntiVirusProduct" call uninstall.My problem is that I'm not sure how to put this into a script or batch or some other form that WPI can use. I'm 100% sure this is simple, but I haven't been able to find an example and don't know how. Thanks in advance for any help. Link to comment Share on other sites More sharing options...
uphold2001 Posted January 2, 2013 Share Posted January 2, 2013 You should be able to put the complete silent uninstall switch for your AV as an executable to run for your uninstall task. What AV is it? Link to comment Share on other sites More sharing options...
luckycharmsjj Posted January 2, 2013 Author Share Posted January 2, 2013 It depends on where I'm at. It's not just one computer. It depends on what that particular person installed.My larger question is how to do the scripting. For example, how can I use the getAntiVirusProduct() and put the result in a variable to use with another command. My background is in procedural programming and sql databases, but scripting in this form is new. Even if I could write a javascript file, I wouldn't know how to run it from WPI. Link to comment Share on other sites More sharing options...
uphold2001 Posted January 2, 2013 Share Posted January 2, 2013 (edited) Ah, well, then that might be difficult, that is, if you want to automate it completely. However, if you were looking to just initiate the uninstall process and you can step through the rest of the way manually, you might be able to write a script that would iterate through the uninstall keys in the registry, when it found one that had 'Antivirus' or whatever in it, execute the uninstallation string (which is typically found in the registry as well). I would look for something VBScript-based, since you might not be always working with something that has the current iteration of PowerShell installed.Some psuedocode: Iterate through all subkeys of HKLM\software\wow6432node\microsoft\windows\currentversion\uninstall\ (and the 32-bit equivalent)For each key, look for AV text string in the Displayname value. If string matches criteria, then execute what's contained in the 'UninstallString' value.Examples: HKLM\software\wow6432node\microsoft\windows\currentversion\uninstall\blah (64-bit Windows)or HKLM\software\microsoft\windows\currentversion\uninstall\blah (32-bit Windows)Then, in WPI, you would simply call the script as part of your task steps.The only other thing I could recommend is maybe looking at a utility that will remove these apps for you (assisted, or no): http://www.ghacks.net/2009/04/29/antivirus-software-uninstaller-appremover/ Edited January 2, 2013 by uphold2001 Link to comment Share on other sites More sharing options...
luckycharmsjj Posted January 2, 2013 Author Share Posted January 2, 2013 That's helpful, but sparks a couple more questions. First, how do I call the vbscript from WPI. I've never actually written a stand-alone vbscript. I assume I would just save it as a specific filetype, drop it in the Install folder, and point the WPI command to that file. Is that close?Secondly, since getAntiVirusProduct() will return the name of the product and I have a command that will use that name to call the uninstaller from the command line, is there a way to use what is returned by getAntiVirusProduct() in a second command?Is that clear? Can I run a command with getAntiVirusProduct(), store that result, and then use it in the next command that runs my uninstaller? Link to comment Share on other sites More sharing options...
luckycharmsjj Posted January 2, 2013 Author Share Posted January 2, 2013 Actually, you can forget that it's uninstalling anything. I really just need to know how to use the response from the getAntiVirusProduct() call in a command (either embedded in a single command or somehow passed to a second command. Link to comment Share on other sites More sharing options...
Kelsenellenelvian Posted January 3, 2013 Share Posted January 3, 2013 Here is the main thread we tried to start for this kind of thing as you can see NO-ONE gave enough of a **** to really try to help. Link to comment Share on other sites More sharing options...
uphold2001 Posted January 3, 2013 Share Posted January 3, 2013 That would be cool to use a resultant variable from the built-in functions to call in another command. Is this possible? Link to comment Share on other sites More sharing options...
Kelsenellenelvian Posted January 3, 2013 Share Posted January 3, 2013 If I was currently developing wpi maybe Link to comment Share on other sites More sharing options...
myselfidem Posted January 4, 2013 Share Posted January 4, 2013 (edited) getAntivirusProduct Will return the name of Antivirus installed on the computer using Configuration and Dependencies, if we change the line 1092 inside: configwizard.jsHandleConditionsSelectionMenu(!InsertCondValues ? "getAntiVirusProduct()" : 'getAntiVirusProduct()=="'+getAntiVirusProduct()+'"');Regards Edited January 4, 2013 by myselfidem Link to comment Share on other sites More sharing options...
luckycharmsjj Posted January 4, 2013 Author Share Posted January 4, 2013 Thanks, myselfidem. I'm out of the office most of the day today, but I'll check it out when I get back and see if this enables me to do what I want. Link to comment Share on other sites More sharing options...
Kelsenellenelvian Posted January 4, 2013 Share Posted January 4, 2013 Out of the office?Remember WPI is not free for business use. Link to comment Share on other sites More sharing options...
luckycharmsjj Posted January 4, 2013 Author Share Posted January 4, 2013 What about non-profs and schools. I live overseas and volunteer for a non-profit educational institution. I say "work" but it's not like I'm getting paid. Link to comment Share on other sites More sharing options...
Kelsenellenelvian Posted January 4, 2013 Share Posted January 4, 2013 Which is it? Do they have official non-profit status?3a. Non-profit and charity organizations are free to use it.3b. Educational institutions can get discount licenses from Kelsenellenelvian@gmail.comWPIW License.1. Redistribution = You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:1a. You must give any other recipients of the Work or Derivative Works a copy of this License.1b. You must cause any modified files to carry prominent notices stating that you changed the files.1c. Modifications can be posted and shared at: MSFN\WPIW Forum Section. (www.msfn.org)1d. Please, if you feel especially proud of your modifications or improvements send a copy with the changes noted to Kelsenellenelvian@gmail.com.3. WPIW is not free for Business or Corporate use.3a. Non-profit and charity organizations are free to use it.3b. Educational institutions can get discount licenses from Kelsenellenelvian@gmail.com4. Any Business or Corporation that wishes to use WPIW may purchase a license at the price of $100 USD.4a. Please contact Kelsenellenelvian at kelsenellenelvian@gmail.com5. WPIW is supplied "as-is". The author assumes no liability for damages, direct or consequential, which may result from the use of WPIW. Link to comment Share on other sites More sharing options...
luckycharmsjj Posted January 4, 2013 Author Share Posted January 4, 2013 They have 501©3 status Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now