Content Type
Profiles
Forums
Events
Everything posted by MHz
-
So you failed on getting it right? Try to give us something to work on (like some xml samples (before/after) and your execution script) and I may come up with a solution. Your problem sounds as recent as was asked here. Help is given if details are enough to understand your problem to start with.
-
How to check if a file is locked in a cmd ?
MHz replied to midiboy's topic in Unattended Windows 2000/XP/2003
failed deletion of the file even though it states success. And when the file is not in use succeeded deletion of the file. Checking if the file exists once is insufficient to validate deletion and %errorlevel% seems to return success upon failure if the file is in use so using a file exists after the deletion does inform of whether deletion actually did fail or not. HTH -
Try the Linux Driver Project. http://www.linuxdriverproject.org/twiki/bin/view
-
So long as the TweakUiPowertoySetup.exe process waits while the spawned msi process does the installation, then you can use the return of the process identification number (PID) from Run() to wait for the TweakUiPowertoySetup.exe process to close. Changes made... $pid = Run("TweakUiPowertoySetup.exe") WinWaitActive("Microsoft Powertoys for Windows XP and Windows Server 2003 Setup", "&Next >") Send("!N") Send("!a") Send("!N") Send("{ENTER}") ProcessWaitClose($pid) ; Check for a \Accessories\Utilities ; and create it if necessary If Not FileExists(@ProgramsCommonDir & "\Accessories\Utilities") Then DirCreate (@ProgramsCommonDir & "\Accessories\Utilities") EndIf ; Check for shortcut ; and copy it to utilities. If FileExists(@ProgramsCommonDir & "\Powertoys for Windows XP\Tweak UI.lnk") Then Filecopy(@ProgramsCommonDir & "\Powertoys for Windows XP\Tweak UI.lnk", @ProgramsCommonDir & "\Accessories\Utilities") EndIf ; Check for shortcut folder ; and delete it If FileExists(@ProgramsCommonDir & "\Powertoys for Windows XP") Then DirRemove(@ProgramsCommonDir & "\Powertoys for Windows XP", 1) EndIf See if the above changes helps you. Some advice: Waiting for each identified window during installation may make your script more reliable.
-
It looks OK to me. TaskKill is a standalone file so you should be able to run it without using CMD to do it. Example script AppName=Test AppVersion=1.0 VersionInfoVersion=1.0 AppVerName=Test 1.0 OutputBaseFilename=Test 1.0 UninstallDisplayName=Test VersionInfoDescription=Test Setup DefaultDirName={pf}\Test DefaultGroupName=Test SolidCompression=true AllowRootDirectory=true DirExistsWarning=no AllowNoIcons=true AlwaysShowDirOnReadyPage=true AlwaysShowGroupOnReadyPage=true WizardImageFile=compiler:wizmodernimage.bmp WizardSmallImageFile=compiler:wizmodernsmallimage.bmp [Files] Source: C:\WINDOWS\NOTEPAD.EXE; DestDir: {app} [Run] Filename: {app}\NOTEPAD.EXE; Flags: nowait Filename: taskkill; Parameters: /f /im notepad.exe; WorkingDir: {sys}; Flags: runhidden postinstall; Description: Close Notepad
-
This test script demonstrates using the CMD interpreter to del a file in the [Run] section. With closing a process depends on having something like TaskKill.exe available for use on your Windows OS as not all have it. [Setup] AppName=Test AppVersion=1.0 VersionInfoVersion=1.0 AppVerName=Test 1.0 OutputBaseFilename=Test 1.0 UninstallDisplayName=Test VersionInfoDescription=Test Setup DefaultDirName={pf}\Test DefaultGroupName=Test SolidCompression=true AllowRootDirectory=true DirExistsWarning=no AllowNoIcons=true AlwaysShowDirOnReadyPage=true AlwaysShowGroupOnReadyPage=true WizardImageFile=compiler:wizmodernimage.bmp WizardSmallImageFile=compiler:wizmodernsmallimage.bmp [Files] Source: C:\WINDOWS\NOTEPAD.EXE; DestDir: {app} [Run] Filename: cmd; Parameters: /c del notepad.exe; WorkingDir: {app}; StatusMsg: Deleting files...; Flags: runhidden postinstall; Description: "Run CMD to delete notepad.exe in the ""{app}"" directory"
-
I would be guessing that NAV is using the Wise installer. I am not aware of silent uninstallation for it. You could look at handling the complete process with VBS using sendkeys, VBS with AutoItX.dll or AutoIt3 alone (or perhaps other languages with AutoIt3X.dll). You should be able to read the uninstall string from registry, run the string and automate any dialogs afterwards. Running a Norton Removal Tool from the script should to be easy as well as removing other registry entries. An uninstall string should work from a cmd prompt unless you forgot to use quotes as the string should have already. A working directory is not passed from registry so paths in the string are normally absolute paths. I have seen some uninstall strings using a guessed 8.3 path used and that can cause errors if incorrect.
-
My strategy for AutoIT scripting - please help!
MHz replied to Decker87's topic in Application Installs
Hi, Nice strategy but your comment used of that AutoIt may not support data structures seems odd. To explain, when you show within your strategy of using the AutoIt array syntax, that is AFAIK, a data structure. Your strategy looks rigid and concise with requirements and what I do notice is timeouts and handling complete install, uninstall etc tasks. If the install is to be automated, then I would consider using a Select Case within a loop to handle the various windows, whether it be the install type or uninstall type. If the loop is not exited within a certain period of time then an action can be done, whether to exit the script or call a function to do something else. It appears functions do not appear within your strategy, yet they can make a major task of creating a ton of scripts easier as common code can be wrapped in functions and even shared amongst the scripts by including them. Using templates would be a logical choice to be a step along with your strategy and make your scripts uniform. You are quite welcome to use the templates within SendToA3X to make your installation scripts. SendToA3X will identify the commonly used installers and create a script based on a template for you to supply details to complete. The automation templates give a choice of using WinWait or WinExists in a loop. You may consider the WinExists in a loop to allow multiple tasks or use a WinWait sequence for the concept of multiple scripts to handle install, uninstall etc. Some scripts here may serve as an example of using templates. Most are not automated so may not be within your strategy but shows a uniform approach. Some advice above for you to evaluate. -
Difference in location desktop/startmenu XP and vista
MHz replied to xavier73's topic in Application Installs
@DesktopCommonDir, @DesktopDir, @ProgramsCommonDir and @ProgramsDir to be more precise. Perhaps Ah, language issue with folder/file names. Autoit does some internal calculations to get those macros above. It would depend on what you are trying to do with WinRAR as shortcut creation exists within WinRAR. If WinRAR does not do enough for you, then you could look at Inno Setup as it has adequate constants for like the "start menu/programs" folder location. -
Would it be possible to make a AutoIt script?
MHz replied to geezery's topic in Application Installs
Silently No as installers are too diverse in their methods. Automated Yes, based on common installers only. It is unlikely that you can cover for every unexpected scenario but you can do most. Sure AutoIt can do things based on logic so creating your concept is not impossible at all. i have done something similar in the past for something to tinker with and it worked ok for it's minor test but unless it does 100% of installations, then I would rather concentrate on a concept that does offer that 100% success rate. I, myself use script templates to make installation scripts quick without repeating similar code over and over. SendToA3X creates the scripts based off templates. Some script examples can be viewed here. -
CCleaner newest version has new builds available
MHz replied to ajua's topic in Application Installs
It is no longer programmed in Visual Basic which had dependencies but rather now is an executable programmed in C++ with only one configuration file. When you set it to not use the registry, then it creates an ini file within it's own directory and thus becomes suitable for portable use as well. -
Difference in location desktop/startmenu XP and vista
MHz replied to xavier73's topic in Application Installs
The environmental variables that exist in XP, also exist in Vista. Paths in XP scripts should work fine in Vista unless you added into your script some hard coded paths that would have been better to have used environmental variables instead. -
MSI installs fine from Cmdlines.txt. Any program that does not install from Cmdlines.txt IMO, maybe bugged and needs reporting to the developer. Just about every program that I have installed from Cmdlines.txt performs without error.
-
WinRAR SFX archives accept /S switch to extract silently. The UltraDefrag v1.1.0 installer that I have is a NSIS installer which also uses the /S switch to silently install.
-
RunOnceEx is a key in the registry which is used for installing applications... at logon to the desktop. Enjoy learning to understand by reading through the Unattended Guide. If you still cannot understand then you are going to need to express your issues so others can help you learn.
-
Indeed contact Avast. I use Avast as well so I sent an email to virus at avast dot com with some details. Hopefully a resolution will come soon.
-
It is a NSIS installer so try using /S. Notice that NSIS requires uppercase switches.
-
I confirm and deleted the zip file and replaced with a valid zip file (tested). CMenu 2.6 BigRandalo, Thanks for the link posted.
-
Just a thought why don't you go to AutoIt Forum with questions related to AutoIt? There are a lot of ppl there and can help you to achieve what you want? MSFN is good but for AutoIt purpose i would suggest using official forum So what are you saying? That an offering of help from an "AutoIt Forum MVP member" is not good enough here?
-
If the script finishes before the installation is finished then use ProcessWaitClose() with the Process ID returned from Run(). If you need further help then attaching your script may help to see your problem.
-
Functions to check or uncheck a checkbox / radio button. ControlCommand() ControlClick() ControlSend() Send()
-
Sorry for the trouble. It seems the Web Server is down. Some temporary links until the issue can be fixed: CMenu 2.6 SendToA3X 1.5
-
If I left click once on the systray icon, then a moment later a tooltip sized window appears and I can click on one of the drives listed to safely remove it. If I click more then once with a left click then a window appears where you can safely remove any drive listed or get drive properties etc. If I right click on the systray icon, then appears a tooltip window to "Show Remove Hardware" which is the alternate 2 click method compared to the left double click. Sometimes you may not know which drive letter resembles your drive so right clicking on the drive within My Computer to safely remove the drive is a good method as you also have the drive title name to recognize the drive.
-
ScanDefrag makes good use of JkDefrag if added into ScanDefrag's install directory and it will be detected. PageDefrg can also be added into ScanDefrag's directory and it will be detected. Then you can also add JkDefrag_Gui into the install directory for using it's Gui interface. It is the combination of defrag tools I prefer to use.
-
Also a good list of some portable applications at http://www.portablefreeware.com/