Content Type
Profiles
Forums
Events
Posts posted by MHz
-
-
Thanks for the notification. It has now been updated to latest Alcohol 1.9.6.4629. Just use same link as before.
0 -
but where shall i put the extensions?
If you want to do it unattended, then you can do it as Shark has mentioned of archiving the mozilla folder in %appdir% or you would repack the extensions into the install package and modify the config.ini to install them. CCK is used for custom config installs so have a look at it. CCK instructions here for using config.ini.
You could use FEBE and CLEO to help with general backing up or saving xpi files into a single xpi file.
0 -
i saw somewhere that, to install a extension with firefox, i just had to use this:Firefox.exe -install-global-extension "name-of-extension.xpi"
AFAIK, nothing unattended. The switch is used for Global install of extensions.
How do I install a global extension?Typically people install extensions interactively and they are then installed into their user directory. For something like the CCK, you want to install it as a global extension. Global extensions are stored in the extensions directory where binary is located. To install a system extension, run Firefox with this syntax:
firefox -install-global-extension mycck.xpi
This will cause the extension to be installed as a global extension.
0 -
Check the @error macro. If it errors then it does not exist or it is unable to read.
RegRead("HKLM\SOFTWARE\Lavasoft", "")
If Not @error Then
RunWait('"' & @ScriptDir & '\spybot.exe" /verysilent')
Else
RunWait('"' & @ScriptDir & '\ad-aware.exe" /s')
EndIf0 -
Below is the default I have in registry. Removing the "whole key" as previously shown would not be a good idea as you will remove everything else under that key.
[HKEY_CLASSES_ROOT\lnkfile]
"NeverShowExt"=""0 -
http://dev4pc.com/installer2go.html
I use Installer2Go. Not compelled to register as it remains fully functional.
0 -
Example 2 changed to suit. Ensure you have SysTray_UDF.au3 next to your script when you run it and it will include it. If compiled, the include file will be included in the executable.
; -- Example 2 --
#NoTrayIcon
#include "SysTray_UDF.au3"
Run("daemon.exe")
$st_process = "daemon.exe"; change this if needed
_SysTrayIconRemove(_SysTrayIconIndex($st_process))
; Note that only the icon was removed; process still should be running0 -
Daemon Tools has a setting to disable the systray icon, but if this is a general question then have a look at the link for UDFs that enable your script to work with the systray icon.
0 -
I found Autoit Info tool to be useless w/o telling me the solution. Then?
If you think Autoit Info Tool is useless then you may as well give up now. Autoit Info Tool is helping to identify and confirm exactly what the problem is. Sometimes problems hide themselves well to what we can see.
Place the Opt("TrayIconDebug", 1) at the top of the script and try it again. When installation stops at the window, then move your mouse over the systray icon to see the line that the script stops at. A tooltip will popup will show the line.
As above, add this line...
Opt('TrayIconDebug', 1)
...and remove this line else you will have no systray icon.
AutoItSetOption("TrayIconHide", 1)
Looking at your picture, the last WinWait() looks correct. It does not seem logical that the script is waiting for the last window but perhaps a previous WinWait() in the script.
Edit:
Looking at the script again, I would guess that you may already have QuickTime Installed and that the window does not appear to inform that "QuickTime 6 is required". That would hang the installation.
In that case, try this script that uses Adlib to check for the QuickTime Window.
Run('msiexec /i "' & @ScriptDir & '\Adobe Illustrator CS2.msi"')
; Welcome dialog.
If WinWait("Adobe Illustrator CS2 - Setup", "The InstallShield(R) Wizard will install Adobe Illustrator CS2", 60) Then
ControlClick("Adobe Illustrator CS2 - Setup", "The InstallShield(R) Wizard will install Adobe Illustrator CS2", "Button1")
; License Agreement.
WinWait("Adobe Illustrator CS2 - License Agreement")
ControlClick("Adobe Illustrator CS2 - License Agreement", "", "Button5")
; Customer Information.
WinWait("Adobe Illustrator CS2 - Setup", "The following information must be entered before installation")
ControlClick("Adobe Illustrator CS2 - Setup", "The following information must be entered before installation", "Button2")
; Destination Folder.
WinWait("Adobe Illustrator CS2 - Setup", "Destination Folder")
ControlClick("Adobe Illustrator CS2 - Setup", "Destination Folder", "Button1")
; Ready to Install the Program.
WinWait("Adobe Illustrator CS2 - Setup", "Ready to Install the Program")
ControlClick("Adobe Illustrator CS2 - Setup", "Ready to Install the Program", "Button1")
Sleep(5000)
AdlibEnable('_Adlib', 500)
; InstallShield Wizard Completed.
WinWait("Adobe Illustrator CS2 - Setup", "InstallShield Wizard Completed")
ControlClick("Adobe Illustrator CS2 - Setup", "InstallShield Wizard Completed", "Button3")
AdlibDisable()
EndIf
Exit
Func OnAutoItStart()
; Single script instance only
If WinExists(@ScriptName & '_Interpreter') Then Exit
AutoItWinSetTitle(@ScriptName & '_Interpreter')
EndFunc
Func _Adlib()
; QuickTime 6 is required.
If WinExists("Adobe Illustrator CS2 - Setup", "QuickTime 6 is required") Then
ControlClick("Adobe Illustrator CS2 - Setup", "QuickTime 6 is required", "Button1")
EndIf
EndFunc0 -
The last screen during installation won't automatically click "finish" button and didn't close.
btw, the autoIt exe also still running without closing which I assumed there may has some error in the script. Help!
If AutoIt is still running and it has stopped on the last window then AutoIt may not have recognized the last window with the strings used in the last WinWait(). You can run through the installation and use AutoIt Info Tool to check the Title, Text and ClassnameNN used and correct as needed.
0 -
See I prefer it in the SendTo instead of the context menu. My context menu is already polluted with so much stuff. This is a definate improvement IMHO
Fast Explorer may help to clean it up. I do not use it much as preventing pollution with install scripts that delete or hide the entries makes the problem go away. Fast Explorer has some other beneficial features also. Thanks for the vote of improvement. Users now have choice of using either SendToA3X or CMenu.
Updated SendToA3X to v1.1 so please see 1st post for details.
Added an item to tidy (optimize) install scripts that I sometimes see posted here created by Au3Recorder. Also suppressed showing the systray icons as not needed in general use.
0 -
I'm not exactly sure who created this script, it sure wasnt me.
I believe the author is MHz.
Yeah, looks like my work.
Nice move on sharing a unattended SPTD installer. Keep it going.
0 -
Yagermeister,
This is your script optimized some.
$SF_1 = "Welcome.exe"
If WinExists ( $SF_1 ) Then Exit
AutoItWinSetTitle ( $SF_1)
Run('Welcome.exe')
_WinWaitActive("Studio 9 Plus - InstallShield Wizard","Select the language ")
Send("{UP}{ENTER}")
_WinWaitActive("Studio 9","Geef de volgende inf")
Send("{TAB}blaat{TAB 3}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{TAB 3}{SPACE}{TAB 11}{ENTER}")
_WinWaitActive("Studio 9 (Pinnacle Systems - Registratie)","")
Send("{TAB 5}{ALTDOWN}{ALTUP}{DOWN 2}{ENTER}")
_WinWaitActive("Installatie van Windows XP , Version 9.3","Licentieovereenkomst")
Send("{TAB 4}{SPACE}{TAB 3}{ENTER}")
_WinWaitActive("Installatie van Windows XP , Version 9.3","Selecteer het type i")
Send("{ENTER}")
_WinWaitActive("Installatie van Windows XP , Version 9.3","Huidige instellingen")
Send("{ENTER}")
_WinWaitActive("classname=#32770","Bezig met installere")
Send("{PAUSE 5}")
_WinWaitActive("Vraag","Moet er een shortcut")
Send("{ENTER}")
_WinWaitActive("Installatie van Windows XP , Version 9.3","Ja, ik wil mijn comp")
Send("{DOWN}{ENTER}")
Func _WinWaitActive($title, $text = "")
WinWait($title, $text)
If Not WinActive($title, $text) Then
WinActivate($title, $text)
EndIf
WinWaitActive($title, $text)
EndFuncAn issue is that you are using a classname for a window title without setting an option to use them as below.
Opt('WinTitleMatchMode', 4)
With that window title, I'm not even sure if you should have it within the script and you just press the (PAUSE) keys 5 times? The classname title looks like an explorer window which you can just use WinClose on. I would assume by looking at it that the rest does looks normal.
Make sure that a window called "Welcome.exe" is not running when you start your script as it will exit as your first few lines will ensure that.
If possible, you may find it better to use AutoItMacroGenerator to generate a script for installations using Control*() functions. AutoItMacroGenerator is an included tool in CMenu, SendToA3X, or the Scite4AutoIt3 editor.
Edit:
SendToA3X v1.1 has now an item to tidy Au3Recorder generated scripts like the above code as shown above as easy as a wink.
0 -
Well ofcourse, you can have both, but surely you do not need both. CMenu will continue to be available for users.
0 -
Bad media can cause this. If windows struggles to read it then it goes into a stupid loop. Not a fault of the drive for this. Had same problems years ago with the better made non-taiwanese made sony drives. It took me awhile to eventually say the media is the fault.
It is differcult to locate and buy good media now .
0 -
Thanks urie, Alternative is a quite true and for a better direction, IMO. Features have been broken down to individual a3x file types and allows for the user to expand with their own. In knowledge of using the inbuilt SendTo extension to make it all work without needing to use the registry.
It would be nice to know if 64bit OS users...can now say that it is compatible to use compared to CMenu's restriction on 64bit.
0 -
Go to the Run box and type "iexpress". IExpress has support for INF file installations and will pack your files into a SFX archive.
0 -
Nice to know. Thanks.
However, is AHK using AutoIt's old compiler ??
I just had a look at AHK 1.40 installer and it is using the early v3.0...build of the AutoIt3 Aut2Exe compiler which is a few years old.
0 -
SendToA3X v1.7
SendToA3X is an alternative to the existing
CMenu.Introduction:
SendToA3X is a very handy SendTo extension. Adds shortcut links to your SendTo menu for any included extensions and executables. It is so handy, that you will save a lot of time for those tedious tasks, that SendToA3X can do so easy. Look below at all the features for you to enjoy.
Features:
- Uses PEiD, which is able to recognize installer types, if available in it's the database. Identify Installer uses this information, and is able to popup a window to show parameters associated with that installer. Identify Installer can unpack, admin, record, silent installations, if available. And also create a template AutoIt Script, to suit.
- 7-Zip2Sfx for easily converting 7z archives to self extracting archives.
- AutoItMacroGenerator is included to handle recording AutoIt scripts for unidentified installers.
- AutoIt Archive Script can create archive script from a source folder. This allows AutoIt to act like an archiver.
- AutoIt Execute Script Gui can execute a single au3/a3x file or select from a folder to execute an au3/a3x file.
- AutoIt Execute Script StdOut can capture the stdout from a au3/a3x file and show a window after execute of the output.
- Classes By Text can capture the ControlID's from a selected window.
- Remove comments from AutoIt3 scripts quickly with Comment Remover.
- Constants Generator retrieves the constants declarations that your AutoIt script only needs.
- Create a Directory List. Preset or custom options are available.
- Files can Execute With Parameters, optional working directory, and allowing for different window states.
Ini2Au3 quickly converts Ini files into AutoIt syntax. - Filenames and paths can be easily sent to the windows clipboard, by using Path To ClipBoard.
- Reg2Au3 quickly converts Regedit4 exported files into AutoIt3 syntax.
- RegKey2Au3 quickly converts a Registry Key into AutoIt3 syntax.
- Convert VBScript to AutoIt3 scripts using Vbs2Au3.
- Includes PEiD as a separate item also, which allows the user to enhanced portable executable identification.
Note:
Uses Inno Setup Installer. Use /silent or /VerySilent to install silently.
Easily adaptable with creating your own a3x files to increase features.
Recommend uninstall previous versions prior to 1.3 to upgrade as the installation structure has changed for Windows Vista compatibility.
Bugs and compliments are welcome.
Edit:
Updated source DllCall parameters that use pointers to prevent warning messages.
Innounp updated to v0.20.
AutoIt v3.2.12.0 compatible.
0 - Uses PEiD, which is able to recognize installer types, if available in it's the database. Identify Installer uses this information, and is able to popup a window to show parameters associated with that installer. Identify Installer can unpack, admin, record, silent installations, if available. And also create a template AutoIt Script, to suit.
-
One quick word about UPX decompression : AutoHotKey uses upx.exe to compress the scripts it compiles. And if you use upx to expand these files, then you can't run them anymore (stupid CRC ?).
Yeah, I've noticed this too with some, but not all, AutoIt scripts. I don't know why this happens, though. Can any UPX/AutoIt/AutoHotkey gurus answer this question? I'm rather curious about this myself.
The AutoIt3 compiler that existed before March, 2006 used to search for the script code at a certain address to locate in the executable. The compiler was changed so UPX alternatives and such could be used so now AutoIt searches for tags which give the location to the script code in the executable. The latter does not rely on a fixed address which means decompressing the executable will not destroy the chances of the script code being found.
AutoHotKey, AFAIK, would be still using the compiler from AutoIt2 (modified) so decompressing it's executables would make the script code missing and would fail to execute.
0 -
Wishlist:
Update your install to use Innosetup so will install over the top of existing.
Decided not to do it with CMenu, but I have used Inno Setup with the new SendToA3X. I have added most the features from CMenu over to SendToA3X so it uses the inbuilt SendTo extension that Windows uses instead of the 3rd party shell extension. I guess your wish basically come true on using Inno Setup for the move to using SendToA3X.
You can get v1.0 from http://uawiki.org/CMenu/
B)
Edit:
Separate Topic for SendToA3X below for further discussion on it.
0 -
Here is a modification of PaulIA's vb script: Automate "Taskbar and Start Menu Properties" settings
' Author: PaulIA (modified by MHz to use AutoItX3.dll)
' Requirement: AutoItX3.dll (will register only if needed, if found in system32 directory)
' Description: This script turns the Quick Launch toolbar on... ( No toggle )
'
' ---------------------------------------------------------------------------------------
' Declare variables
Dim objShellApp, objAutoIt
Dim strTaskbarTitle
' Create objects
Set objShellApp = CreateObject("Shell.Application")
Set objAutoIt = CreateObject("AutoItX3.Control")
' Check that the required objects are valid
If Not IsObject(objShellApp) Then
WScript.Quit 1
ElseIf Not IsObject(objAutoIt) And Not Register_AutoItX3(objAutoIt) Then
WScript.Quit 2
End If
' Open Taskbar Properties dialog
objShellApp.TrayProperties
' Automate the "Taskbar and Start Menu Properties" settings window
strTaskbarTitle = "Taskbar and Start Menu Properties" ' Title of window to automate
With objAutoIt
If .WinWait(strTaskbarTitle, "", 5) Then
.WinSetState strTaskbarTitle, "", SW_HIDE ' Hide the window
.ControlCommand strTaskbarTitle, "", "Button1", "UnCheck", "" ' UnLock the Taskbar
'.ControlCommand strTaskbarTitle, "", "Button2", "Check", "" ' Auto-hide the Taskbar
.ControlCommand strTaskbarTitle, "", "Button5", "Check", "" ' Show Quick Launch
.ControlCommand strTaskbarTitle, "", "Button1", "Check", "" ' Lock the Taskbar
.ControlClick strTaskbarTitle, "", "Button13" ' Apply settings
.ControlClick strTaskbarTitle, "", "Button11" ' OK to complete
End If
End With
' Clean up objects
Set objShellApp = Nothing
Set objAutoIt = Nothing
WScript.Quit
Function Register_AutoItX3(objAutoIt)
' Search in the SystemDir and register AutoItx3.dll
Dim objFSO, WshShell, strSystemLocation
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
If IsObject(objFSO) And IsObject(WshShell) Then
strSystemLocation = WshShell.ExpandEnvironmentStrings("%WinDir%") & "\System32\AutoItX3.dll"
If objFSO.FileExists(strSystemLocation) Then
WshShell.Run "RegSvr32 /s " & strSystemLocation, 0, True
End If
End If
Set objFSO = Nothing
Set WshShell = Nothing
Set objAutoIt = CreateObject("AutoItX3.Control")
If IsObject(objAutoIt) Then
Register_AutoItX3 = True
End If
End FunctionAnd a AutoIt3 script wrapped in a function. Has the same result of no toggle as the VBScript using AutoIt3X.dll.
_TaskBarProperties()
Func _TaskBarProperties()
Local $opt_WinWaitDelay, $oShellApp, $title_taskbar
$opt_WinWaitDelay = Opt('WinWaitDelay', 1)
$title_taskbar = 'Taskbar and Start Menu Properties'
$oShellApp = ObjCreate('Shell.Application')
If Not @error Then
$oShellApp.TrayProperties
If WinWait($title_taskbar, '', 5) Then
WinSetState($title_taskbar, '', @SW_HIDE); Hide the window
Sleep(250)
ControlCommand($title_taskbar, '', 'Button1', 'UnCheck'); UnLock the Taskbar
;ControlCommand($title_taskbar, '', 'Button2', 'Check'); Auto-hide the Taskbar
ControlCommand($title_taskbar, '', 'Button5', 'Check'); Show Quick Launch
ControlCommand($title_taskbar, '', 'Button1', 'Check'); Lock the Taskbar
ControlClick($title_taskbar, '', 'Button13'); Apply the settings
ControlClick($title_taskbar, '', 'Button11'); OK to finish
EndIf
EndIf
Opt('WinWaitDelay', $opt_WinWaitDelay)
EndFuncThanks for sharing, PaulIA.
0 -
You may have better luck with this
$search = FileFindFirstFile('*.cmd')
If $search <> -1 Then
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
RunWait(@ComSpec & ' /c "' & $file & '"', '', @SW_HIDE)
WEnd
FileClose($search); Close the search handle
EndIfComSpec likes double quotes, not singles, so using single quotes by default and use double quotes as needed within the string works well.
Also while I'm here, some other variations.
For au3 files (use AutoIt v3.2.0.1 or later)
$search = FileFindFirstFile('*.au3')
If $search <> -1 Then
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
If $file = @ScriptName Then ContinueLoop
RunWait(@AutoItExe & ' /AutoIt3ExecuteScript "' & $file & '"')
WEnd
FileClose($search); Close the search handle
EndIfor a Multi-FileType
$search = FileFindFirstFile('*.*')
If $search <> -1 Then
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
If $file = @ScriptName Then ContinueLoop
Switch StringRight($file, 4)
Case '.cmd'
RunWait(@ComSpec & ' /c "' & $file & '"', '', @SW_HIDE)
Case '.au3'
RunWait(@AutoItExe & ' /AutoIt3ExecuteScript "' & $file & '"')
Case '.vbs'
RunWait(@SystemDir & '\WScript.exe "' & $file & '"')
EndSwitch
WEnd
FileClose($search); Close the search handle
EndIf0 -
Exist, not Exists
CLS
@echo off
TITLE ETC Computer Solutions Recipe Install
ECHO.
ECHO Over the next few minutes you will see automated installations
ECHO of various sofware applications. The computer will restart automatically
ECHO once the whole process has finished!
ECHO.
ECHO Starting installation of Applications
ECHO.
ECHO Installing Lavasoft Ad-Aware 6 Build 181
ECHO Please wait...
IF NOT EXIST "%ProgramFiles%\Lavasoft\Ad-Aware SE Personal\Ad-Aware.exe" (
start /wait aawsepersonal.exe /s
) ELSE (
ECHO Skipping install
)
ECHO.
ECHO Installing AVG Anti-Virus 7.1.782...
start /wait avgsetup.exe /HIDE /DONT_START_APPS /NO_WELCOME /NO_AVGW_STARTUP /QUIT_IF_INSTALLED
ECHO.
ECHO Installing Mozilla Firefox
ECHO Please wait...
IF NOT EXIST "%ProgramFiles%\Mozilla Firefox\firefox.exe" (
start /wait Firefox.exe -ms
) ELSE (
ECHO Skipping install
)
EXIT0
Problem installing .NET Framework 3.0 during svcpack.inf
in Application Installs
Posted · Edited by MHz
The last set of switches had a /n which is not right. I have broken down the strings some and added passing fullpath to msiexec if helps. I just would do one check for working directory at start of script and just once for EnvGet() as well. Through revising your script, I'm not sure if I fixed anything by changing it with double quote changes etc. I would recommend that you double check your switches though msiexec normally pops up if a syntax error exists. I also removed the "REBOOT=reallysuppress" as your already using /norestart.
Notice how I use single quotes to wrap the double quotes for ease.