ondrovic Posted December 21, 2012 Posted December 21, 2012 (edited) Hello, I am new to autoit and I am trying to create a function that uses a variable for the location and name of a .msi file to install, but I can't seem to get quotes or syntax correct and was wonder if anyone could provide some help. Here is the function I am trying to write: Func _msi($msi) ;==> this uses the .msi specified and installs it then creates a log file for the install RunWait('msiexec.exe /i ' & $msi & ' /qb /lv* "C:"' & $msi & ".log") EndFunc EDIT: Seem to have it installing now but still working on getting the log file Func _MSI($msi) ;==> function to install .msi ShellExecuteWait($msi,'/qb') EndFunc _MSI("C:TempAdobeAir.msi") Thanks for the help Edited December 21, 2012 by ondrovic
BrewManNH Posted December 21, 2012 Posted December 21, 2012 (edited) Does the $msi variable contain the full path and file name of the file you're running? Does the path have spaces in it, you might need quotes around the $msi variable if it does. RunWait('msiexec.exe /i "' & $msi & '" /qb /lv* "C:' & $msi & '.log"') Something like that. BTW, if the $msi variable has the full path and file name in it, then the logging section won't work because you will have the path and the C: in the same name. If it doesn't have the full path name in it, you will need to add it before the $msi variable because msiexec needs to know where it is. Edited December 21, 2012 by BrewManNH If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
ondrovic Posted December 21, 2012 Author Posted December 21, 2012 (edited) Does the $msi variable contain the full path and file name of the file you're running? Does the path have spaces in it, you might need quotes around the $msi variable if it does. RunWait('msiexec.exe /i "' & $msi & '" /qb /lv* "C:' & $msi & '.log"') Something like that. BTW, if the $msi variable has the full path and file name in it, then the logging section won't work because you will have the path and the C: in the same name. If it doesn't have the full path name in it, you will need to add it before the $msi variable because msiexec needs to know where it is. Yes the $msi will have the full path, the plan is to have the MSI installers in C:Temp then to just call the function based on that _msi("C:TempApplication.msi") Thanks Edited December 21, 2012 by ondrovic
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