View Full Version : Universal Avisynth Installer [2021-01-19]
Groucho2004
10th May 2015, 11:37
This is a repository containing several Avisynth versions and the necessary batch file to install/uninstall them.
The screen shot below shows the menu system and details of the included Avisynth versions:
https://i.postimg.cc/ryvxqt59/Image2.png
Unpack the archive to a location of your choice and follow the setup instructions below (instructions are also in the batch file):
:: ########################## Start Configuration #########################
:: The variable "AVS_SRC_DIR" must be set according to the location of
:: this batch file.
:: The simplest way to have this up and running is to copy the "AvisynthRepository"
:: directory to a location of your choice (avoid "Program Files" or "Program Files (x86)")
:: and create a shortcut to the "setavs.cmd" batch file in the root of "AvisynthRepository".
:: If you want to run the batch file from a different directory
:: (e.g. a directory to which the "PATH" environment variable points),
:: remove the "%~dp0" and use a fully qualified path to the source directory.
:: Example: "set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository"
set AVS_SRC_DIR=%~dp0
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=
set PLUGDIR64=
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=
set PLUGDIR64PLUS=
:: **IMPORTANT:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
:: ########################### End Configuration ##########################
Note:
If you already have an older version of the Universal Installer:
Overwrite "setavs.cmd", the files in the "AVSPLUS*" and "Tools" directories with the new versions.
Sometimes old installations of Avisynth may leave behind orphan directories and/or registry entries that could interfere with the new install. It's usually a good idea to clean up before using this installer (don't forget to make a backup of the plugins you need):
- Delete "C:\Program Files (x86)\AviSynth" and subdirs (just an example, your path to Avisynth may differ)
- Delete these registry keys:
"HKEY_CURRENT_USER\Software\Avisynth"
"HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth"
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Avisynth" (only on 64 bit OS)
Download (http://www.mediafire.com/folder/x6f7yqjufdg7c/Groucho's_Avisynth_Stuff) ("UniversalAvisynthInstaller*.7z" on the download page)
Recent changes:
2021-01-19
Added Avisynth+ 3.70 (r3382) (32/64 bit + XP compatible versions).
Removed 3.6.1 and 3.6.2 Test versions
filler56789
10th May 2015, 14:38
Many :thanks:
Sparktank
10th May 2015, 16:58
This is great!
I was curious about this getting updated, too.
With everything updating lately, I'd like to give different things a go.
Thanks for the update.
manolito
11th May 2015, 04:37
Muchas gracias! :thanks:
minaust
16th May 2015, 05:46
HI Groucho2004!
Thanks a lot – this is exactly what I've been looking for. Now to just get it to work properly. As it is, it works now – sort of.
My systems: Both - Win7 Pro, 64-bit. One has Avisynth+ 64-bit only. It works properly. The other, the problem system had Avisynth 2.58 istalled with installer. Upgraded by uninstalling it and installing ver 2.6 RC (?). I uninstalled that and set up your package. I entered “setavs plus64” and I had a fully functional 64-bit encode chain.
video = DGSource ("Test Clip.dgi", fieldop = 0, resize_w = 768, resize_h = 576).
\ColorMatrix (hints = true)
audio = NicAC3Source ("Test Clip T82 2_0ch 48KHz 192Kbps DELAY 0ms.ac3", Channels = 2)
AudioDub (video, audio)
ColorYUV (levels = "TV->PC")
Virtualdub 64-bit, x264 and x265 were all happy with it.
Shifting to 32-bit avisynth builds - no go. None of them. 32-bit Vdub threw an error – “AVI Input Filter error: (Unknown) (80040154)”. If I delete the two avisynth dlls entirely, I get the exact same error.
Drop back and punt – a one line script - version () - still no go, but avsmeter is happy with that (and with colorbars() which gives insanely high frame rates - but I think I know why.). Avsmeter also properly identifies the avisynth build. I was even able to encode version() with x264 and play the script in mpc-hc.
Anyway I decided to let avsmeter try the real script. He throws the error:
AVSMeter 2.0.2 (x86)
AviSynth 2.60, build:Mar 31 2015 [16:38:54] (2.6.0.6)
Script error: there is no function named "DGSource"
Call it an educated guess, but I think the problem may be either an old registry entry that was never cleared, or a registry entry that was not properly set.
Any ideas on how to make the 32-bit builds work? (And work with Virtualdub.)
Groucho2004
16th May 2015, 14:27
Updated the package as follows (see first post for details):
Moved the registry entry for the plugin directory/directories to from HKLM to HKCU. This should fix the issue reported above by minaust. I tested this on XP64. Let me know if there are problems with Win7/8.
Added an option to specify custom plugin directories for 32 and 64 Bit versions of Avisynth. Note that if you use the custom option, all 32 Bit versions of Avisynth will use the same plugin directory. This could lead to problems with v2.6 plugins in combination with a 2.5 Avisynth. So, you need to know what you're doing. :)
minaust
16th May 2015, 19:13
Updated the package as follows (see first post for details):
Moved the registry entry for the plugin directory/directories to from HKLM to HKCU. This should fix the issue reported above by minaust. I tested this on XP64. Let me know if there are problems with Win7/8.
Improvement - 64-bit is still 100%, 32-bit is still no go with virtualdub, but works with everything else including MPC-HC. I cado encodes with x264 and x265 - just no vdub.
Groucho2004
16th May 2015, 21:22
Improvement - 64-bit is still 100%, 32-bit is still no go with virtualdub, but works with everything else including MPC-HC. I cado encodes with x264 and x265 - just no vdub.
No idea what this could be. Anyway, I would probably start with a thorough cleanup:
Search all your drives for avisynth.dll and devil.dll. Delete all of them (obviously not the ones in the "AvisynthRepository" directory :)).
Search your registry for the strings "plugindir2_5" and "plugindir+". Delete the corresponding keys.
Also, post your customized batch file (to pastebin or similar).
minaust
17th May 2015, 00:12
No idea what this could be. Anyway, I would probably start with a thorough cleanup:
Search all your drives for avisynth.dll and devil.dll. Delete all of them (obviously not the ones in the "AvisynthRepository" directory :)).
Did that before my first post. All I found then the aforementioned "legit" files.
Search your registry for the strings "plugindir2_5" and "plugindir+". Delete the corresponding keys.
Ditto. Just the entry "setavs" put there. What I did find was interesting. After my first post I installed, one at a time, avisynth 2.6 RC whatever and avisynth+ 64-bit. I searched for "plugindir2_5" each time and found they were in two different places. The 32-bit install was:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth]
@="C:\\Program Files (x86)\\AviSynth"
"plugindir2_5"="C:\\Program Files (x86)\\AviSynth\\plugins"
"initialplugindir"="C:\\Program Files (x86)\\AviSynth\\plugins"
Meanwhile, the avs+ 64 did this:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Program Files (x86)\\AviSynth+"
"plugindir2_5"="C:\\Program Files (x86)\\AviSynth+\\plugins64"
"plugindir+"="C:\\Program Files (x86)\\AviSynth+\\plugins64+"
I kludged the existing script to handle that and it worked, but no better than your new script, which is more elegant. Mine was a kludge.
Also, post your customized batch file (to pastebin or similar).
Dropbox link. (https://www.dropbox.com/s/lz3au11yiqblv76/setavs.bat?dl=0)
The only problem now is 32-bit virtualdib doesn't work with any of the 32-bit builds, whereas the 64-bit virtualdub does work with the plus64 build. Now I can do 32 and 64-bit encodes just fine. as a test I wrote a batch file that does a 64-bit encode then immediately followed by a 32-bit encode of the same script, courtesy of AvisynthRepository.:D
Groucho2004
17th May 2015, 09:36
After my first post I installed, one at a time, avisynth 2.6 RC whatever and avisynth+ 64-bit.
Did you uninstall them before you used the batch file?
minaust
18th May 2015, 01:00
Did you uninstall them before you used the batch file?
Absolutely. Also told the 2.6 uninstaller to kill the plugin folder registry entries.
minaust
18th May 2015, 07:32
Did you uninstall them before you used the batch file?
Of course. As a matter of fact, I've just done some registry hacking, and now I've put myself in the opposite situation -32 bit vdub works and 64-bit does not. I accomplished this by installing 2.6 and NOT uninstalling it. I just went to syswow64 and deleted avisynth.dll and devil.dll. Then I modded the batch file to change the way it handled reg entries, only changing where in the registry the plugindir2_5 entry was, and where it pointed.
I can still do 64-bit encodes, everything except vdub works. Just the opposite of before. Something in the Windows 7 registry is being set by the installer that's different between XP and Win 7. Meanwhile, I'd really like to know what makes Virtualdub different from everything else in known space.:confused:
Groucho2004
18th May 2015, 15:45
32-bit Vdub threw an error – “AVI Input Filter error: (Unknown) (80040154)”.
I've tried the whole thing on Windows 8.1 64 Bit and I also get this error with 32 Bit VDub. I Installed ffdshow, Xvid, tried all kinds of suggestions, no go.
Everything else works, VDub64, AVSMeter 32/64. And, as already mentioned, no problem on XP64.
Anyone who might be able to shed some light on this problem?
Groucho2004
19th May 2015, 11:18
I think I found the problem. I'll make a new package later.
@minaust
Try this new batch file (https://www.dropbox.com/s/488mcvhjwibc4ng/setavs.bat?dl=0).
minaust
20th May 2015, 00:29
I think I found the problem. I'll make a new package later.
@minaust
Try this new batch file (https://www.dropbox.com/s/488mcvhjwibc4ng/setavs.bat?dl=0).
Sir, you may now take a bow. Well done!
Groucho2004
20th May 2015, 00:42
Sir, you may now take a bow. Well done!
Great, thanks for confirming.
Registry redirection seems to work differently in newer versions of 64 Bit Windows. Therefore one has to directly write to the "Wow6432Node" keys. Apparently this only concerns programs that don't use the native Avisynth API but rather VfW like VDub.
I'll make a new package tomorrow.
minaust
20th May 2015, 05:26
I'll make a new package tomorrow.
Excellent. Will it work in 32-bit Xp? Xp ain't dead yet, as you well know, despite Microsoft's best efforts to kill it.
(Before anybody makes a smart-alec post, I know "plus64" won't work!)
Groucho2004
20th May 2015, 08:56
Will it work in 32-bit Xp?
Yes, any Windows from XP (possibly even 2K) onwards.
Groucho2004
20th May 2015, 09:49
Updated the repository.
Fixed problem with 32 Bit Avisynth versions on 64 Bit OS
Moved all registry stuff into the batch file.
manolito
20th May 2015, 17:26
Thanks very much Groucho... :thanks:
Moved all registry stuff into the batch file.
Since I do need the old AviSynth.reg file separately from the SetAVS.bat (installing LAVFilters screws up the registry each and every time), I extracted the relevant stuff from the new SetAVS.bat and made a file called "MakeRegFile.bat" which will create the correct AviSynth.reg depending on the OS:
MakeRegFile.bat
@echo off
echo REGEDIT4 > AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}] >> AviSynth.reg
echo @="AviSynth" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32] >> AviSynth.reg
echo @="AviSynth.dll" >> AviSynth.reg
echo "ThreadingModel"="Apartment" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\Media Type\Extensions\.avs] >> AviSynth.reg
echo @="" >> AviSynth.reg
echo "Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\avsfile] >> AviSynth.reg
echo @="AviSynth Script" >> AviSynth.reg
echo. >> AviSynth.reg >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\AVIFile\Extensions\AVS] >> AviSynth.reg
echo @="{E6D6B700-124D-11D4-86F3-DB80AFD98778}" >> AviSynth.reg
if defined PROGRAMFILES(X86) (
echo. >> AviSynth.reg
echo [HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.avs] >> AviSynth.reg
echo @="" >> AviSynth.reg
echo "Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}" >> AviSynth.reg
echo. >> AviSynth.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\WOW6432NODE\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\INPROCSERVER32] >> AviSynth.reg
echo @="AviSynth.dll" >> AviSynth.reg
echo "ThreadingModel"="Apartment" >> AviSynth.reg
)
Maybe someone can use this.
Cheers
manolito
jones1913
20th May 2015, 19:44
Let me join the party of posting batch scripts :)
A half year or so ago I modified Groucho's script because I had some issues (I cant remember right now which kind of).
It ended in a complete rewrite...
My script works a bit different as the former script:
- must be started with admin rights, because it copy the .dlls to system32 or syswow64
- write direct to registry with reg.exe
- has uninstall option
I was never 100% sure about all of the registry keys but it worked for me. (tested on Win7 x64 and NT5.2 x64)
::batch script for fast switch of avisynth versions
::initial idea and work by Groucho2004 -> http://forum.doom9.org/showthread.php?p=1677076#post1677076
::modified by jones1913
@echo off
setlocal
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
color 4f
::The source directory with the various avisynth versions is set to the location of this batch file.
set AVS_SRC_DIR=%~dp0
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
if [%1]==[] goto :menu
if /i %1==AVS257 (set avs=%1) & goto :install
if /i %1==AVS258 (set avs=%1) & goto :install
if /i %1==AVS260 (set avs=%1) & goto :install
if /i %1==AVS260_ICL (set avs=%1) & goto :install
if /i %1==AVS260_MT (set avs=%1) & goto :install
if /i %1==AVSPLUS_x86 (set avs=%1) & (set avspl=true) & goto :install
if /i %1==AVSPLUS_x64 (set avs=%1) & (set avspl=true) & goto :install
echo.
echo Unknown parameter.
:menu
echo.
echo Which AviSynth version you want to install?
echo (Or call this batch file next time directly with one of the below listed parameters.)
echo.
echo 1 = AVS257
echo 2 = AVS258
echo 3 = AVS260
echo 4 = AVS260_ICL
echo 5 = AVS260_MT
echo 6 = AVSPLUS_x86
echo 7 = AVSPLUS_x64 *
echo.
echo 8 = Uninstall AVS x86
echo 9 = Uninstall AVS x64
echo.
echo *) AVS+ x64 can be installed in addition to one of the other versions.
echo.
set no=
set /p no=[1-9] (leave blank and [Enter] for exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS257
if %no%==2 set avs=AVS258
if %no%==3 set avs=AVS260
if %no%==4 set avs=AVS260_ICL
if %no%==5 set avs=AVS260_MT
if %no%==6 (set avs=AVSPLUS_x86) & set avspl=true
if %no%==7 (set avs=AVSPLUS_x64) & set avspl=true
if %no%==8 (set avs=AVSx86) & goto :uninstall
if %no%==9 (set avs=AVSx64) & goto :uninstall
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
:install
echo Installing %avs%...
echo.
if defined winarch (
echo setup for 32bit windows system...
echo.
if /i %avs%==AVSPLUS_x64 ( echo Attempt to install x64 AVS on x32 Windows.
goto :cancel )
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
call :regWin
) else (
echo setup for 64bit windows system...
echo.
if /i %avs%==AVSPLUS_x64 (
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
call :regWin
) else (
echo copying %avs% files to "%WINDIR%\SysWow64"...
echo copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%%avs%\devil.dll" "%WINDIR%\SysWow64"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\SysWow64"
goto :error )
echo.
echo reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
call :regWow64
)
)
goto :end
:regWin
echo.
echo adding more registry entries...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f
goto :eof
:regWow64
echo.
echo adding more registry entries (wow64 mode)...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f
goto :eof
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
echo.
if defined winarch (
if /i %avs%==AVSx64 ( echo Attempt to remove x64 AVS from x32 Windows.
goto :cancel )
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\avisynth.dll"
del "%WINDIR%\System32\devil.dll"
call :unregWin all
) else (
if /i %avs%==AVSx64 (
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\devil.dll"
del "%WINDIR%\System32\avisynth.dll"
if exist "%WINDIR%\SysWow64\avisynth.dll" (call :unregWin) else (
call :unregWin all )
) else (
echo removing %avs% files from "%WINDIR%\SysWow64"...
del "%WINDIR%\SysWow64\avisynth.dll"
del "%WINDIR%\SysWow64\devil.dll"
if exist "%WINDIR%\System32\avisynth.dll" (call :unregWow64) else (
call :unregWow64 all )
)
)
goto :end
:unregWin
echo.
echo removing registry entries...
reg delete "HKLM\SOFTWARE\Avisynth" /f
reg delete "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregWow64
echo.
echo removing registry entries (wow64 mode)...
reg delete "HKLM\SOFTWARE\Wow6432Node\Avisynth" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregAll
echo.
echo removing more avs registry entries...
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f
reg delete "HKLM\SOFTWARE\Classes\.avs" /f
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f
goto :eof
:noAdmin
echo This script must run with elevated privileges, so:
echo.
echo a) right click on it, chose "run as administrator"
echo b) or start it from within a root cmd window
:error
echo.
echo something went seriously wrong...
:cancel
echo.
echo canceled...
:end
endlocal
echo.
pause
Feel free to use parts of it or leave a comment.
Groucho2004
20th May 2015, 21:17
or leave a comment.
Fancy! :D
manolito
21st May 2015, 11:32
There is a difference between Groucho's script and the one by jones1913 regarding the CLSID entries.
While Groucho generally uses HKEY_CLASSES_ROOT\CLSID\ (with one exception for the 64bit entries), jones1913 always uses HKLM\SOFTWARE\Classes\CLSID\ or HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\
I know that these two keys point to the same values, but is one method preferable over the other one?
Cheers
manolito
StainlessS
22nd May 2015, 00:00
but is one method preferable over the other one?
Dont think so, the shorter one is just easier to find and probably the only reason for it.
Groucho2004
22nd May 2015, 01:53
I know that these two keys point to the same values, but is one method preferable over the other one?
There is some information about this on MSDN, I have not read it yet.
Anyway, I just use the keys that the standard Avisynth installer writes which are also summarized by IanB in an old thread here on Doom9.
tebasuna51
11th August 2015, 11:04
Thanks for your new version with last AviSynth 2.6
Using your setavs.bat make a temporal $avsreg$.reg to modify the register with keys than don't match (I don't have thats keys) with my actual reg keys
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth]
[HKEY_CURRENT_USER\SOFTWARE\Avisynth]
"plugindir2_5"="C:\\Program Files (x86)\\AviSynth 2.5\\plugins"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.avs]
[HKEY_CLASSES_ROOT\Media Type\Extensions\.avs]
@=""
"Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}"
[HKEY_CLASSES_ROOT\avsfile] (the same)
@="AviSynth Script"
[HKEY_CLASSES_ROOT\AVIFile\Extensions\AVS] (the same)
@="{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
[HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.avs] (the same)
@=""
"Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\WOW6432NODE\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\INPROCSERVER32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
I have W 7 SP1 64bits and I installed AviSynth 2.6.0.2 (the newest at that moment)
I changed between versions, without execute $avsreg$.reg, and all seems OK. Your Avisynth Info Tool 1.3.1 inform always ok.
Do you know for what the differences?
I don't want duplicate keys than don't exist in my register.
Groucho2004
11th August 2015, 11:16
Do you know for what the differences?
Don't know, I would have to do some research. Besides, after some testing, I recommend using jones1913 batch file from here (http://forum.doom9.org/showthread.php?p=1723151#post1723151).
tebasuna51
11th August 2015, 14:13
Yep, seems the jones1913 batch is coherent with my registry.
BTW, like I don't want uninstall AviSynth, only change between versions, and the registry entries are always the same for my OS 64 bits, can change without modify the registry.
Maybe only
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%AVS_SRC_DIR%%avs%\plugins" /f
if need that. By the moment I have only a few common plugins in PluginDir2_5 and use LoadPlugin() for different ones.
Sparktank
5th September 2015, 03:51
Let me join the party of posting batch scripts :)
...
Feel free to use parts of it or leave a comment.
Ah, cool!
Finally looked into this whole thing.
Win7 (x64) SP1
Tried 3 versions:
260_ICL10
260_MT
PLUS32
They all copied/registered files and worked with AVSmeter!
[Script]
BlankClip()
260_ICL
[General info]
Log file created with: AVSMeter 2.1.1 (x86)
Script file: E:\Temp\avs_version.avs
Avisynth version: AviSynth 2.60RC3 (ICL10) (2.6.0.6)
Avisynth Interface Version: 6
Avisynth.dll linker/compiler version: 6.0 (ICL 10.1)
Avisynth DLL location: C:\Windows\SysWOW64\avisynth.dll
PluginDir2_5 (HKLM, x86): C:\AVS\AVS_Ver\AVS260_ICL\plugins
260_MT
[General info]
Log file created with: AVSMeter 2.1.1 (x86)
Script file: E:\Temp\avs_version.avs
Avisynth version: AviSynth 2.60, build:Feb 20 2015 [03:16:45] (2.6.0.5)
Avisynth Interface Version: 6
Avisynth.dll linker/compiler version: 12.0 (VC 2013)
Avisynth DLL location: C:\Windows\SysWOW64\avisynth.dll
PluginDir2_5 (HKLM, x86): C:\AVS\AVS_Ver\AVS260_MT\plugins
PLUS32
[General info]
Log file created with: AVSMeter 2.1.1 (x86)
Script file: E:\Temp\avs_version.avs
Avisynth version: AviSynth+ 0.1 (r1825, MT, i386) (0.1.0.0)
Avisynth Interface Version: 6
Avisynth.dll linker/compiler version: 12.0 (VC 2013)
Avisynth DLL location: C:\Windows\SysWOW64\avisynth.dll
PluginDir2_5 (HKLM, x86): C:\AVS\AVS_Ver\AVSPLUS_x86\plugins
Avisynth Info Tool (1.3.1) reads it loud and clear.
[General Info - Avisynth.dll]
Version String: AviSynth 2.60RC3 (ICL10)
File Version: 2.6.0.6
Directory: C:\Windows\SysWOW64
Timestamp: April 29, 2015, 06:50:29
MT Support: No
Loading "ducks.h264" into AvsPmod with DGdecNV_2049,
I was able to load it and scan through it using:
AVS258
AVS260
AVS260_ICL
AVS260_MT
AVSPLUS_x86
So, finally sat down and gave this a good look over.
Now it's time to play with absolutely everything. :devil:
And, then, maybe for New Years Resolution, throw in Vapoursynth.
Thanks for all the work, guys!
Only thing left is to look how to add "SVP_258"
AviSynth 2.5.8 (SVP edition)
https://www.svp-team.com/wiki/Download
Should be a walk in the park. :scared: maybe.
Groucho2004
5th September 2015, 09:38
Updated the package with a ICL avisynth.dll based on the 2.6 release.
jones1913
6th September 2015, 13:06
I recommend using jones1913 batch file
Yep, seems the jones1913 batch is coherent with my registry.
Ah, cool!
Finally looked into this whole thing.
I am pleased that you all enjoy my script. :cool:
Groucho2004
6th September 2015, 17:30
Updated the package with a new ICL DLL. Some performance issues were fixed.
minaust
9th September 2015, 03:13
Updated the package with a new ICL DLL. Some performance issues were fixed.
I'd always been led to believe that Intel builds were of benefit only to users of Intel CPUs, AMD users would see no performance improvements. Happily, your ICL builds of Avisynth have most definitely shown that to be false. Thanks!
Groucho2004
9th September 2015, 08:01
I'd always been led to believe that Intel builds were of benefit only to users of Intel CPUs, AMD users would see no performance improvements. Happily, your ICL builds of Avisynth have most definitely shown that to be false. Thanks!
Lots of gruesome fairy tales have been written about this issue. An objective and correct analysis was done by Agner Fog (http://www.agner.org/optimize/#manual_cpp).
These issues only arise when using the automatic CPU dispatcher with the Intel compiler. Compiling for a specific instruction set which I did for avisynth.dll will bypass it.
Groucho2004
21st September 2015, 17:01
Updated the ICL DLL once more. Using SSE2 optimizations yield some performance gain.
manolito
21st September 2015, 22:37
Does that mean that it will not run on non-SSE2 CPUs any longer?
Cheers
manolito
//EDIT//
Just saw the answer in the other thread, too bad...
Groucho2004
21st September 2015, 22:45
Does that mean that it will not run on non-SSE2 CPUs any longer?
Cheers
manolito
//EDIT//
Just saw the answer in the other thread, too bad...
I found a better way. Please re-download the repository. SSE CPUs are supported without sacrificing performance for newer CPUs.
manolito
22nd September 2015, 00:53
Thanks Groucho, works well... :thanks:
minaust
14th October 2015, 20:32
I found a better way. Please re-download the repository. SSE CPUs are supported without sacrificing performance for newer CPUs.
Just curious - I re-downloaded the repository the day you posted this. I just checked again and noticed something - the file I downloaded appeats to have a date in the file name of "AvisynthRepository_2015_09_21".
Checking back today I noticed the file name of "AvisynthRepository_2015_09_22". An apparent change of one day. Any change worthy of mention?
Thanks a lot for this.
Groucho2004
14th October 2015, 21:25
Just curious - I re-downloaded the repository the day you posted this. I just checked again and noticed something - the file I downloaded appeats to have a date in the file name of "AvisynthRepository_2015_09_21".
Checking back today I noticed the file name of "AvisynthRepository_2015_09_22". An apparent change of one day. Any change worthy of mention?
I discarded the profile guided optimization in the build process of the ICL Avisynth DLL. It's performance gains were very specific to the scripts I used for profiling. In other cases it actually decreased performance.
In short - yes, you should re-download the file or just replace the ICL avisynth.dll with this (http://forum.doom9.org/showthread.php?t=167358) one.
minaust
14th October 2015, 22:51
I discarded the profile guided optimization in the build process of the ICL Avisynth DLL. It's performance gains were very specific to the scripts I used for profiling. In other cases it actually decreased performance.
In short - yes, you should re-download the file or just replace the ICL avisynth.dll with this (http://forum.doom9.org/showthread.php?t=167358) one.
Done. Many thanks.
Groucho2004
15th October 2015, 11:07
I have updated the switcher tool. It now includes a modified and extended version of the batch file by Jones1913 featuring a menu system, the possibility to specify custom plugin directories and an un-installer. Details in the first post.
minaust
20th October 2015, 13:53
I have updated the switcher tool. It now includes a modified and extended version of the batch file by Jones1913 featuring a menu system, the possibility to specify custom plugin directories and an un-installer. Details in the first post.
Well done - only problem is that it creates a problem when called from within another batch file. PAUSE and "Y/N" prompts a a bad idea in that case. so I fixed it: It now has "wipe32" and "wipe64" as command line options. The 'y/n' prompts are bypassed in command line mode. When run in menu mode it functions as before, except the "pause" at the end was removed. I did this because I'm doing batch encodes, and the encoder script first ser up a 64-bit avisynth environment, then restores the 32-bit environment upon completion. Here goes:
::batch script for fast switching of avisynth versions
::initial idea and work by Groucho2004 -> http://forum.doom9.org/showthread.php?t=172124
::modified by jones1913
::modified and extended by Groucho2004
@echo off
setlocal
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
:: The variable "AVS_SRC_DIR" needs to be set according to the location this batch file:
:: When you unpack the repository and just want to create a shortcut to the batch file,
:: remove the colon from the beginning of the next line.
:set AVS_SRC_DIR=%~dp0
:: If you copy the batch file to a different directory (i.e. a directory to which the
:: "PATH" environment variable points), use a fully qualified path to the source
:: directory (don't forget to add the backslash at the end of that path), example below.
:set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository\
:: Below are examples for custom plugin directories for 32 and 64 Bit Avisynth.
:: If you leave them blank and/or don't remove the colon at the beginning of the line,
:: the respective "plugin" directories within the "AvisynthRepository" source directory
:: will be used. Note that there must be *no* backslash at the end of the plugin path.
:set PLUGDIR32=E:\VideoTools\AVSPlugins\AutoLoad32
:set PLUGDIR64=E:\VideoTools\AVSPlugins\AutoLoad64
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
if [%1]==[] goto :menu
if /i %1==AVS257 (set avs=%1) & goto :install
if /i %1==AVS258 (set avs=%1) & goto :install
if /i %1==AVS260 (set avs=%1) & goto :install
if /i %1==AVS260_ICL (set avs=%1) & goto :install
if /i %1==AVS260_MT (set avs=%1) & goto :install
if /i %1==AVSPLUS_x86 (set avs=%1) & (set avspl=true) & goto :install
if /i %1==AVSPLUS_x64 (set avs=%1) & (set avspl=true) & goto :install
if /i %1==WIPE32 (set avs=AVSx86) & goto :uninstallauto
if /i %1==WIPE64 (set avs=AVSx64) & goto :uninstallauto
echo.
echo Unknown parameter.
:menu
cls
echo.
echo Which AviSynth version you want to install?
echo (Or call this batch file next time directly with one of the below listed parameters.)
echo.
echo 1 = AVS257
echo 2 = AVS258
echo 3 = AVS260
echo 4 = AVS260_ICL
echo 5 = AVS260_MT
echo 6 = AVSPLUS_x86
echo 7 = AVSPLUS_x64 *
echo.
echo 8 = WIPE32 (Uninstall AVS x86) **
echo 9 = WIPE64 (Uninstall AVS x64) **
echo.
echo *) AVS+ x64 can be installed in addition to one of the other (32 bit) versions.
echo.
echo **) the WIPE commands bypass the y/n prompt. Be careful!
echo.
set no=
set /p no=[1-9] (leave blank and [Enter] for exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS257
if %no%==2 set avs=AVS258
if %no%==3 set avs=AVS260
if %no%==4 set avs=AVS260_ICL
if %no%==5 set avs=AVS260_MT
if %no%==6 (set avs=AVSPLUS_x86) & set avspl=true
if %no%==7 (set avs=AVSPLUS_x64) & set avspl=true
if %no%==8 (set avs=AVSx86) & goto :uninstall
if %no%==9 (set avs=AVSx64) & goto :uninstall
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
:install
if "%PLUGDIR32%" == "" (
set REGPLUGDIR32=%AVS_SRC_DIR%%avs%\plugins
) else (
set REGPLUGDIR32=%PLUGDIR32%
)
if "%PLUGDIR64%" == "" (
set REGPLUGDIR64=%AVS_SRC_DIR%%avs%\plugins
) else (
set REGPLUGDIR64=%PLUGDIR64%
)
echo Installing %avs%...
echo.
if defined winarch (
echo setup for 32bit windows system...
echo.
if /i %avs%==AVSPLUS_x64 ( echo Attempt to install x64 AVS on x32 Windows.
goto :cancel )
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
call :regWin
) else (
echo setup for 64bit windows system...
echo.
if /i %avs%==AVSPLUS_x64 (
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
call :regWin
) else (
echo copying %avs% files to "%WINDIR%\SysWow64"...
echo copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%%avs%\devil.dll" "%WINDIR%\SysWow64"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\SysWow64"
goto :error )
echo.
echo reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
call :regWow64
)
)
goto :end
:regWin
echo.
echo adding more registry entries...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f
goto :eof
:regWow64
echo.
echo adding more registry entries (wow64 mode)...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f
goto :eof
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
:uninstallauto
echo.
if defined winarch (
if /i %avs%==AVSx64 ( echo Attempt to remove x64 AVS from x32 Windows.
goto :cancel )
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\avisynth.dll"
del "%WINDIR%\System32\devil.dll"
call :unregWin all
) else (
if /i %avs%==AVSx64 (
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\devil.dll"
del "%WINDIR%\System32\avisynth.dll"
if exist "%WINDIR%\SysWow64\avisynth.dll" (call :unregWin) else (
call :unregWin all )
) else (
echo removing %avs% files from "%WINDIR%\SysWow64"...
del "%WINDIR%\SysWow64\avisynth.dll"
del "%WINDIR%\SysWow64\devil.dll"
if exist "%WINDIR%\System32\avisynth.dll" (call :unregWow64) else (
call :unregWow64 all )
)
)
goto :end
:unregWin
echo.
echo removing registry entries...
reg delete "HKLM\SOFTWARE\Avisynth" /f
reg delete "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregWow64
echo.
echo removing registry entries (wow64 mode)...
reg delete "HKLM\SOFTWARE\Wow6432Node\Avisynth" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregAll
echo.
echo removing more avs registry entries...
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f
reg delete "HKLM\SOFTWARE\Classes\.avs" /f
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f
goto :eof
:noAdmin
echo This script must run with elevated privileges, so:
echo.
echo a) right click on it, chose "run as administrator"
echo b) or start it from within a root cmd window
:error
echo.
echo something went wrong...
:cancel
echo.
echo cancelled...
:end
endlocal
echo.
As you can see, basically I added two lines, a new label, removed the pause, and modded the menu to reflect the new functionality.
Groucho2004
28th April 2016, 13:22
Update:
2016/04/28
- Replaced the r1576 AVS+ DLLs with the latest versions from pinterf
- Batch file tweaks/cosmetics
minaust
29th April 2016, 14:08
Update:
2016/04/28
- Replaced the r1576 AVS+ DLLs with the latest versions from pinterf
- Batch file tweaks/cosmetics
Excellent! Got it.
Groucho2004
28th September 2016, 18:29
2016/09/28
- Updated AVS+ DLLs to the latest versions (r2172)
minaust
29th September 2016, 22:43
2016/09/28
- Updated AVS+ DLLs to the latest versions (r2172)
Thank you, and thank you for keeping this little gem going. :thanks:
hydra3333
3rd October 2016, 01:51
Yes, thank you.
Groucho2004
9th February 2017, 14:01
2017-02-09
- Updated AVS+ DLLs to the latest versions (r2420)
minaust
10th February 2017, 02:17
2017-02-09
- Updated AVS+ DLLs to the latest versions (r2420)
Thank you sir.
tcope
21st February 2017, 18:59
Deleted because was incorrect and cluttered the thread.
tebasuna51
9th March 2017, 11:42
Last 6 post moved to new thread Linux AviSynth Switcher (https://forum.doom9.org/showthread.php?t=174402)
tebasuna51
12th March 2017, 11:41
@Groucho2004
About the setavs.bat in your package, there are:
:: The variable "AVS_SRC_DIR" needs to be set according to the location of this batch file:
:: Option 1
set AVS_SRC_DIR=%~dp0
:: Option 2
:set AVS_SRC_DIR=E:\Apps\VideoTools\AvisynthRepository
But set AVS_SRC_DIR=%~dp0 produce a string finished with a slash like:
INSTALL_FOLDER\
After that all references like %AVS_SRC_DIR%\%avs% produce strings with a double slash.
I suggest use %AVS_SRC_DIR%%avs% (without the slash) and
:: Option 2 (example with finish slash)
:set AVS_SRC_DIR=E:\Apps\VideoTools\AvisynthRepository\
Groucho2004
12th March 2017, 12:34
@Groucho2004
About the setavs.bat in your package, there are:
:: The variable "AVS_SRC_DIR" needs to be set according to the location of this batch file:
:: Option 1
set AVS_SRC_DIR=%~dp0
:: Option 2
:set AVS_SRC_DIR=E:\Apps\VideoTools\AvisynthRepository
But set AVS_SRC_DIR=%~dp0 produce a string finished with a slash like:
INSTALL_FOLDER\
After that all references like %AVS_SRC_DIR%\%avs% produce strings with a double slash.
I suggest use %AVS_SRC_DIR%%avs% (without the slash) and
:: Option 2 (example with finish slash)
:set AVS_SRC_DIR=E:\Apps\VideoTools\AvisynthRepository\
Nice catch. Another fix would be this (which I think I'd prefer):
if "%AVS_SRC_DIR:~-1%"=="\" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
tebasuna51
12th March 2017, 14:01
Another fix would be this (which I think I'd prefer):
if "%AVS_SRC_DIR:~-1%"=="\" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
Of course.
Nice tool, I'm testing now to have Avs+ 32 and 64 bits installed.
Groucho2004
12th March 2017, 20:12
2017-03-12
Updated AVS+ to the latest version (r2440)
Fixed potential issue with trailing backslashes in the batch file
Sparktank
12th March 2017, 22:19
Great stuff! Thanks for the updates and others helping in on things.
tcope
13th March 2017, 04:30
@ tebasuna51
with coexistence .. am guessing you are running windows ..
I have not 64 bit windows to test on.
Install 32 bit AVS then install 64 bit avs,
then run tests with 32 bit..
Is windows maintaining arch isolation ?
ChaosKing
13th March 2017, 08:51
I get a syntaxerror after the :menu (win10 x64).
The 2 new added lines are the problem:
if "%PLUGDIR32:~-1%"=="\" SET PLUGDIR32=%PLUGDIR32:~0,-1%
if "%PLUGDIR64:~-1%"=="\" SET PLUGDIR64=%PLUGDIR64:~0,-1%
EDIT:
works with the update now
Groucho2004
13th March 2017, 10:17
I get a syntaxerror after the :menu (win10 x64).
The 2 new added lines are the problem:
if "%PLUGDIR32:~-1%"=="\" SET PLUGDIR32=%PLUGDIR32:~0,-1%
if "%PLUGDIR64:~-1%"=="\" SET PLUGDIR64=%PLUGDIR64:~0,-1%
Yeah, I did not test it properly. Will be fixed shortly.
Groucho2004
13th March 2017, 10:35
2017-03-13
Fixed check of trailing backslash in plugin directory paths
Added directory validation
tebasuna51
13th March 2017, 11:55
@ tebasuna51
with coexistence .. am guessing you are running windows ..
I have not 64 bit windows to test on.
Install 32 bit AVS then install 64 bit avs,
then run tests with 32 bit..
Is windows maintaining arch isolation ?
Seems work fine, when the calling soft (x264, VirtualDub, mpc-hc, MeGUI, ?) is a 64 bit version, the AviSynth.dll used is the located in ...\System32 folder and the autoload plugin folder the directed in HKLM\SOFTWARE\Avisynth.
Whit a 32 bit version soft (x264, VirtualDub, mpc-hc, MeGUI, BeHappy, ?) the AviSynth.dll used is the located in ...\SysWOW64 folder and the autoload plugin folder the directed in HKLM\SOFTWARE\Wow6432Node\Avisynth
Of course you need a W 64 bits to test it.
tcope
13th March 2017, 17:05
Of course you need a W 64 bits to test it.
The reason I ask is because of a few issues
I ran into while writing the Linux version.
You never know how closely Microsoft adheres
to their own guidelines, but wine seems to
strictly do so.
The main issue's were registry entries.
The paths to the dll's are written to
HKLM\SOFTWARE\Classes.
According to MS this is a shared key in a SysWoW64.
This means no matter what arch used, 32 or 64, they
both reference that same key without redirection.
In a nutshell, each time a version of AVS gets installed,
a single path exists to the avisynth.dll. No matter
which version gets installed, the last version installed
is what both arch's will reference.
Here it is straight from Microsoft.
Registry Keys Affected by WOW64 (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384253(v=vs.85).aspx)
To fix this I have moved the path references to the
HKLM\SOFTWARE\Classes\CLSID\
this is a redirected key section so each arch will
have its own unique view.
Also according to MS, you should never access
Wow6432Node keys directly, that is the job of
the redirector. So this is invalid protocol.
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID"
Here it is straight from Microsoft.
Accessing an Alternate Registry View (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384129(v=vs.85).aspx)
The proper way to access multiple registry views, in
a SysWoW64 environment, is by having the registry
redirector manage all calls by using the /reg:32 or /reg:64
switches.
Reference documentation.
REG.exe documentation (https://ss64.com/nt/reg.html)
I took the liberty of writing a heavily modified version of
the setavs.bat, and applied what was learned. I condensed
the registry calls down optimizing the code a bit.
I have successfully tested this in 32 bit win7. I have no way
to test coexistence since I have no 64 bit windows, but the
Linux version of these concepts absolutely works correctly
in 64 bit wine.
I hope this helps.
Cheers :)
::batch script for fast switching of avisynth versions
::initial idea and work by Groucho2004 -> http://forum.doom9.org/showthread.php?t=172124
::modified by jones1913
::modified and extended by Groucho2004
::tidy registry and optimizations by tcope
@echo off
setlocal
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
:: The variable "AVS_SRC_DIR" needs to be set according to the location of this batch file:
:: Option 1
:: When you unpack the repository and just want to create a shortcut to the batch file,
:: remove the colon from the beginning of the next line.
:set AVS_SRC_DIR=%~dp0
:: Option 2
:: If you want to run the batch file from a different directory (i.e. a directory to which the
:: "PATH" environment variable points), use a fully qualified path to the source directory, example below.
:set AVS_SRC_DIR=E:\Apps\VideoTools\AvisynthRepository
:: Custom plugin directories (optional)
:: Below are examples for custom plugin directories for 32 and 64 Bit Avisynth.
:: If you leave them blank and/or don't remove the colon at the beginning of the line,
:: the respective "plugin" directories within the "AvisynthRepository" source directory
:: will be used. Note that there must be *no* backslash at the end of the plugin path.
:set PLUGDIR32=E:\VideoTools\AVSPlugins\AutoLoad32
:set PLUGDIR64=E:\VideoTools\AVSPlugins\AutoLoad64
set avspl=0
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
if [%1]==[] goto :menu
if /i %1==AVS258 (set avs=%1) & goto :allsettings
if /i %1==AVS260 (set avs=%1) & goto :allsettings
if /i %1==AVS261_Alpha (set avs=%1) & goto :allsettings
if /i %1==AVS260_ICL (set avs=%1) & goto :allsettings
if /i %1==AVS260_MT (set avs=%1) & goto :allsettings
if /i %1==AVSPLUS_x86 (set avs=%1) & (set avspl=1) & goto :allsettings
if /i %1==AVSPLUS_x64 (set avs=%1) & (set arch64=true) & (set avspl=1) & goto :allsettings
echo.
echo Unknown parameter.
:menu
echo.
echo Which Avisynth version you want to install?
echo (Or call this batch file next time directly with one of the below listed parameters.)
echo.
echo 1 = AVS258
echo 2 = AVS260
echo 3 = AVS261_Alpha
echo 4 = AVS260_ICL
echo 5 = AVS260_MT
echo 6 = AVSPLUS_x86
echo 7 = AVSPLUS_x64 *
echo.
echo 8 = Uninstall AVS x86
echo 9 = Uninstall AVS x64
echo.
echo *) AVS+ x64 can be installed in addition to one of the other (32 bit) versions.
echo.
set no=
set /p no=[1-9] (leave blank and [Enter] for exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS258
if %no%==2 set avs=AVS260
if %no%==3 set avs=AVS261_Alpha
if %no%==4 set avs=AVS260_ICL
if %no%==5 set avs=AVS260_MT
if %no%==6 (set avs=AVSPLUS_x86) & set avspl=1
if %no%==7 (set avs=AVSPLUS_x64) & (set arch64=true) & set avspl=1
if %no%==8 (set avs=AVSx86)
if %no%==9 (set avs=AVSx64) & (set arch64=true)
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
:allsettings
set coexist=false
set fullwinpath=%WINDIR%\System32
set REGID1={E6D6B700-124D-11D4-86F3-DB80AFD98778}
set REGID2={D3588AB0-0781-11CE-B03A-0020AF0BA770}
if exist %WINDIR%\System32\avisynth.dll (
if exist %WINDIR%\SysWow64\avisynth.dll (
set coexist=true)
)
if "%AVS_SRC_DIR:~-1%" == "\" (set AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%)
if "%PLUGDIR32%" == "" (
set REGPLUGDIR32=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32=%PLUGDIR32%
)
if "%PLUGDIR64%" == "" (
set REGPLUGDIR64=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64=%PLUGDIR64%
)
if defined arch64 (
if defined winarch (
echo.
echo 64 bit AVS will not run in a 32 system
echo Exiting ... Nothing To Do
goto :cancel
)
set plugdir=%REGPLUGDIR64%
set regarch=64
) else (
set plugdir=%REGPLUGDIR32%
set regarch=32
if not defined winarch (
set fullwinpath=%WINDIR%\SysWow64
)
)
set state=install
if "%avs%" == "AVSx86" ( set state=uninstall )
if "%avs%" == "AVSx64" ( set state=uninstall )
if "%state%" == "install" (goto:install) else (goto:uninstall)
:install
echo Installing %avs%...
echo.
echo "copying %avs% files to %fullwinpath%"
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%fullwinpath%"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%fullwinpath%"
if errorlevel 1 ( echo "Failed to copy files to %fullwinpath%"
goto :error )
echo "ADDING %avs% registry entries..."
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%" /f /reg:%regarch%
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%plugdir%" /f /reg:%regarch%
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "%REGID1%" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\%REGID1%" /ve /d "AviSynth" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\%REGID1%\InProcServer32" /ve /d "%fullwinpath%\avisynth.dll" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\%REGID1%\InProcServer32" /v "ThreadingModel" /d "Apartment" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "%REGID2%" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "avisynth.dll,0" /f /reg:%regarch% >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "avisynth.dll,%avspl%" /f /reg:%regarch% >nul 2>&1
goto :end
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
echo.
echo removing %avs% files from "%fullwinpath%"...
del "%fullwinpath%\avisynth.dll"
del "%fullwinpath%\devil.dll"
echo "DELETING %avs% registry entries..."
reg delete "HKLM\SOFTWARE\Avisynth" /f /reg:%regarch%
reg delete "HKLM\SOFTWARE\Classes\CLSID\%REGID1%" /f /reg:%regarch%
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f /reg:%regarch%
if "%coexist%" == "false" (
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f /reg:%regarch%
reg delete "HKLM\SOFTWARE\Classes\.avs" /f /reg:%regarch%
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f /reg:%regarch%
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f /reg:%regarch%
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f /reg:%regarch%
)
goto :end
:noAdmin
echo This script must run with elevated privileges, so:
echo.
echo a) right click on it, chose "run as administrator"
echo b) or start it from within a root cmd window
:error
echo.
echo something went wrong...
:cancel
echo.
echo cancelled...
:end
endlocal
echo.
pause
Groucho2004
13th March 2017, 17:59
@tcope
I have just had a quick glance at this but it seems to be more efficient. Using the "/reg:%regarch%" option is certainly better.
When I have a bit more time I'll test it (32/64). Maybe others also want to give it a go.
Groucho2004
19th March 2017, 17:41
2017-03-19
Updated AVS+ to the latest version (r2455)
Groucho2004
26th May 2017, 11:49
2017-05-26
* Added option to specify additional plugin directories.
By default, only the respective "plugin" directories within the "AvisynthRepository" source directory
are used for auto-loading.
By using the "REGPLUGDIR32PLUS" and/or "REGPLUGDIR64PLUS" variables, plugins in directories specified
through these variables are added to the auto-load process. This only works with Avisynth+.
ChaosKing
26th May 2017, 13:53
Thanks for the update :)
Is it possible to add something like an additional avsi scripts folder which will be autolaoded by 32 & 64 bit avisynth?
Groucho2004
26th May 2017, 14:22
Is it possible to add something like an additional avsi scripts folder which will be autolaoded by 32 & 64 bit avisynth?This would only work with AVS+. Also, even though I have not tested this, the order in which AVS+ processes auto-load directories could lead to problems with functions used in .avsi files if the relevant plugins have not been auto-loaded (yet).
Groucho2004
27th May 2017, 01:36
2017-05-27
Fixed a couple of minor issues
ChaosKing
28th May 2017, 07:49
This would only work with AVS+. Also, even though I have not tested this, the order in which AVS+ processes auto-load directories could lead to problems with functions used in .avsi files if the relevant plugins have not been auto-loaded (yet).
I'm only interested in AVS+. Could You post the reg entry for auto loading avsi files? I would like to test it and then report back.
Groucho2004
28th May 2017, 09:07
I'm only interested in AVS+. Could You post the reg entry for auto loading avsi files? I would like to test it and then report back.
You can either use the directories set with "PLUGDIR32PLUS"/"PLUGDIR64PLUS" for your .avsi files or add another location. Here (https://www.dropbox.com/s/gdtgccny1nsb6hc/setavs.bat?dl=0) is a modified batch file which allows to specify two additional plugin directories (...PLUS1 & ...PLUS2). You can use the "...PLUS2" variables to specify your directory with .avsi files.
I recommend that you read the documentation of the new AVS+ auto-loader (http://avisynth.nl/index.php/AviSynth%2B#AviSynth.2B.27s_Plugin_Autoloader), there are several options within scripts/.avsi files (i.e. "AddAutoLoadDir") which may accomplish the same thing.
Groucho2004
29th May 2017, 22:59
2017-05-29
Updated AVS+ to r2489
Changed thread title :cool:
FredThompson
30th May 2017, 02:46
I stopped using installers for almost every Windows program to declutter the list of installed items. If they have drivers/registry entries/etc. which are needed, those are loaded from a batch, then the program is run, then they are removed.
AviSynth is one for which I want the registry entries but not an entry in the installed programs. Here's what I use to create the "hooks" for AviSynth 2.6.1 20160517_VC6:
cd /d %~dp0
setlocal
copy avisynth.dll C:\Windows\SysWOW64 /v /y
copy devil.dll C:\Windows\SysWOW64 /v /y
reg import "AviSynth - Configure.reg"
endlocal
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.avs]
@="avsfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.avsi]
@="avs_auto_file"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AVIFile\Extensions\AVS]
@="{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avs_auto_file]
@="AviSynth Autoload Script"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avs_auto_file\DefaultIcon]
@="C:\\Portable\\- Linked\\AviSynth\\- Documentation\\AviSynth Auto-Load Icon.ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile]
@="AviSynth Script"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile\DefaultIcon]
@="C:\\Portable\\- Linked\\AviSynth\\AviSynth.dll,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
"ThreadingModel"="Apartment"
@="AviSynth.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\Media Type\Extensions\.avs]
"Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}"
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth]
"initialplugindir"="C:\\Portable\\- Linked\\AviSynth\\plugins"
"plugindir2_5"="C:\\Portable\\- Linked\\AviSynth\\plugins"
@="C:\\Portable\\- Linked\\AviSynth"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
"ThreadingModel"="Apartment"
@="AviSynth.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs]
"Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}"
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\AviSynth]
"URLInfoAbout"="http://avisynth.org/"
"DisplayVersion"="2.6.1.0"
"DisplayIcon"="C:\\Portable\\- Linked\\AviSynth\\AviSynth.dll,0"
"Publisher"="GPL Public release."
"DisplayName"="AviSynth 2.6"
Groucho2004
30th May 2017, 05:04
Here's what I use to create the "hooks" for AviSynth 2.6.1The concept is the same, just without the bells and whistles (i.e. version selection, uninstall, admin privilege check).
Groucho2004
4th June 2017, 09:06
2017-06-04
Updated AVS+ to r2504
Groucho2004
11th June 2017, 19:57
2017-06-11
Updated AVS+ to r2506
shae
13th July 2017, 14:36
Is v2.5.5 supposed to show each plugin twice?
AVSMeter 2.5.5 (x64) - Copyright (c) 2012-2017, Groucho2004
VersionString: AviSynth+ 0.1 (r2506, MT, x86_64)
VersionNumber: 2.60000
File / Product version: 0.1.0.0 / 0.1.0.0
Interface Version: 6
Multi-threading support: Yes
Avisynth.dll location: C:\WINDOWS\SYSTEM32\avisynth.dll
Avisynth.dll time stamp: 2017-06-08, 10:50:43 (UTC)
PluginDir+ (HKLM, x64): C:\ ... \AVSPLUS_x64\plugins
PluginDir2_5 (HKLM, x64): C:\ ... \AVSPLUS_x64\plugins
[CPP 2.6 / 64 Bit plugins]
C:\ ... \AVSPLUS_x64\plugins\ConvertStacked.dll
C:\ ... \AVSPLUS_x64\plugins\ConvertStacked.dll
C:\ ... \AVSPLUS_x64\plugins\DirectShowSource.dll
C:\ ... \AVSPLUS_x64\plugins\DirectShowSource.dll
C:\ ... \AVSPLUS_x64\plugins\ImageSeq.dll
C:\ ... \AVSPLUS_x64\plugins\ImageSeq.dll
C:\ ... \AVSPLUS_x64\plugins\Shibatch.dll
C:\ ... \AVSPLUS_x64\plugins\Shibatch.dll
C:\ ... \AVSPLUS_x64\plugins\TimeStretch.dll
C:\ ... \AVSPLUS_x64\plugins\TimeStretch.dll
C:\ ... \AVSPLUS_x64\plugins\VDubFilter.dll
C:\ ... \AVSPLUS_x64\plugins\VDubFilter.dll
Groucho2004
13th July 2017, 15:21
Is v2.5.5 supposed to show each plugin twice?
AVSMeter 2.5.5 (x64) - Copyright (c) 2012-2017, Groucho2004
VersionString: AviSynth+ 0.1 (r2506, MT, x86_64)
VersionNumber: 2.60000
File / Product version: 0.1.0.0 / 0.1.0.0
Interface Version: 6
Multi-threading support: Yes
Avisynth.dll location: C:\WINDOWS\SYSTEM32\avisynth.dll
Avisynth.dll time stamp: 2017-06-08, 10:50:43 (UTC)
PluginDir+ (HKLM, x64): C:\ ... \AVSPLUS_x64\plugins
PluginDir2_5 (HKLM, x64): C:\ ... \AVSPLUS_x64\plugins
[CPP 2.6 / 64 Bit plugins]
C:\ ... \AVSPLUS_x64\plugins\ConvertStacked.dll
C:\ ... \AVSPLUS_x64\plugins\ConvertStacked.dll
C:\ ... \AVSPLUS_x64\plugins\DirectShowSource.dll
C:\ ... \AVSPLUS_x64\plugins\DirectShowSource.dll
C:\ ... \AVSPLUS_x64\plugins\ImageSeq.dll
C:\ ... \AVSPLUS_x64\plugins\ImageSeq.dll
C:\ ... \AVSPLUS_x64\plugins\Shibatch.dll
C:\ ... \AVSPLUS_x64\plugins\Shibatch.dll
C:\ ... \AVSPLUS_x64\plugins\TimeStretch.dll
C:\ ... \AVSPLUS_x64\plugins\TimeStretch.dll
C:\ ... \AVSPLUS_x64\plugins\VDubFilter.dll
C:\ ... \AVSPLUS_x64\plugins\VDubFilter.dll
That's a bug I have already fixed internally. It happens when the "PluginDir+" and "PluginDir2_5" registry entries point to the same directory.
I'll release a new build soon.
shae
13th July 2017, 15:27
Thanks.
I suspected that much, but thought there might still be a reason for showing them twice. :)
wonkey_monkey
16th July 2017, 20:55
Okay... how does one set PLUGDIR32, etc, when the directory paths have spaces in them...
poisondeathray
16th July 2017, 21:22
Okay... how does one set PLUGDIR32, etc, when the directory paths have spaces in them...
Did you try enclosing in quotation marks ?
"D:\PATH\some folder"
How do you feel about the new "Doctor" ? :D
LigH
16th July 2017, 21:23
I did that already, but on a different PC ... IIRC, simply as it is, even without double quotes. No guarantee right now.
wonkey_monkey
16th July 2017, 21:37
Did you try enclosing in quotation marks ?
"D:\PATH\some folder"
I did. It didn't work. Somewhere it sees the "Files" of "Program Files (x86)" and says it was unexpected.
How do you feel about the new "Doctor" ? :D
She'll be brilliant.
Groucho2004
17th July 2017, 08:37
Works fine for me without quotes. Run AVSMeter with the switches "-avsinfo -log" and post the log ("avsinfo_xx.log).
LigH
17th July 2017, 08:43
Fine for me too; this should be possible:
set PLUGDIR32=C:\Program Files (x86)\AviSynth 2.5\plugins
wonkey_monkey
17th July 2017, 18:28
If I do this:
set PLUGDIR32=C:\Program Files (x86)\AviSynth 2.5\plugins
set PLUGDIR64=C:\Program Files (x86)\AviSynth+\plugins64
it says "\AviSynth was unexpected at this time." when I try optons 6 or 7.
If I put those paths in quotes, it says "Files was unexpected at this time."
Groucho2004
17th July 2017, 19:03
If I do this:
set PLUGDIR32=C:\Program Files (x86)\AviSynth 2.5\plugins
set PLUGDIR64=C:\Program Files (x86)\AviSynth+\plugins64
it says "\AviSynth was unexpected at this time." when I try optons 6 or 7.
If I put those paths in quotes, it says "Files was unexpected at this time."
I suggest you clean up potential old Avisynth stuff before using this installer. See the first post in this thread, there are instructions.
wonkey_monkey
17th July 2017, 19:41
That wasn't it; it seems you have to escape a ) when setting the paths with a ^^:
set PLUGDIR32=C:\Program Files (x86^^)\AviSynth 2.5\plugins
Don't really get why, but it works.
LigH
17th July 2017, 20:37
My bad I confused us; my usual installation directory is somewhere else, so it worked for me. :o
Depending on the context, CMD may interpret parentheses as command group. If one was opened a few lines before, it tries to close that at this path.
Groucho2004
18th July 2017, 10:38
That wasn't it; it seems you have to escape a ) when setting the paths with a ^^
Well spotted. Although I would have thought that one escape character would suffice.
wonkey_monkey
18th July 2017, 12:08
I think what happens is: the first escape character escapes the second, so the string becomes "...(x86^)...". When the variable is later used to build a new string, I think the ^ then escapes the ) to stop it being treated like a command group. It seems that rather than set simply setting two variables to be equal, when you do "set A=%B%" it actually parses and evaluates the string.
Groucho2004
2nd September 2017, 15:05
2017-09-02
Updated AVS+ to r2508
Groucho2004
23rd September 2017, 21:39
2017-09-23
Added note about special characters in directory names
hydra3333
24th September 2017, 02:55
Thank you for your great work.
Groucho2004
14th November 2017, 17:09
2017-11-14
Updated AVS+ to r2542
Sparktank
15th November 2017, 03:43
2017-11-14
Updated AVS+ to r2542
Thanks! :thanks:
Groucho2004
16th November 2017, 17:19
2017-11-15
Updated AVS+ to r2544
pinterf
16th November 2017, 18:09
Thanks
Groucho2004
30th December 2017, 11:08
2017-12-30
Updated AVS+ to r2580
Sachin
16th January 2018, 15:07
After installing avsplus_x64, avspmod showed "error [126] specified module could not be found " . But when I installed avs260 avspmod worked. Please help
Groucho2004
16th January 2018, 15:11
After installing avsplus_x64, avspmod showed "error [126] the specified module could not be found" .Are you using the 64 bit version of AVSPMod?
Sachin
16th January 2018, 15:26
Are you using the 64 bit version of AVSPMod?
No. Thank you for replying
LigH
16th January 2018, 15:31
Did you install the required versions of MS Visual C++ Runtime? (I would recommend all current versions from 2005 on, in x86 and - if applicable - x64.)
Sachin
16th January 2018, 18:16
Sincere thanks for replying.
I downloaded 64bit version of AVSPMod and now it's working with avsplus_x64
Micheal813
18th January 2018, 23:09
After selecting which version to install and hitting enter, the cmd window goes away and nothing gets installed.
Groucho2004
18th January 2018, 23:13
After selecting which version to install and hitting enter, the cmd window goes away and nothing gets installed.How do you know that nothing gets installed?
LigH
18th January 2018, 23:15
Maybe you should first open a permanent command interpreter, then run the batch; so you can read messages after it finished or aborted.
Micheal813
18th January 2018, 23:15
How do you know that nothing gets installed?
The avisynth dll is not in the System32 or SysWOW64 directory. Also, I'm not able to open avs scripts in VDub.
Groucho2004
18th January 2018, 23:19
I assume you followed the instructions in the first post of this thread? The console window should stay open after hitting Enter and point out any problems. What did you modify in the batch file?
Micheal813
18th January 2018, 23:21
I assume you followed the instructions in the first post of this thread? The console window should stay open after hitting Enter and point out any problems. What did you modify in the batch file?
:: Option 1
:: When you unpack the repository and just want to create a shortcut to
:: the batch file, remove the colon from the beginning of the next line.
set AVS_SRC_DIR=%~dp0
:: Option 2
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: use a fully qualified path to the source directory.
:: Example:
:: set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository
:set AVS_SRC_DIR=
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32="F:\VHS\Programs\Avisynth\Plugins\32 Bit Plugins"
set PLUGDIR64="F:\VHS\Programs\Avisynth\Plugins\64 Bit Plugins"
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS="F:\VHS\Programs\Avisynth\Plugins\32 Bit Plus"
set PLUGDIR64PLUS="F:\VHS\Programs\Avisynth\Plugins\64 Bit Plus"
Micheal813
18th January 2018, 23:22
Maybe you should first open a permanent command interpreter, then run the batch; so you can read messages after it finished or aborted.
I get:
Bit was unexpected at this time.
LigH
18th January 2018, 23:24
Did you run the batch "as Administrator"?
_
I get:
Bit was unexpected at this time.
Ah, that sounds like a misinterpreted plugin directory because it contains a white space...
Micheal813
18th January 2018, 23:25
Did you run the batch "as Administrator"?
Yes I did.
Groucho2004
18th January 2018, 23:26
Try removing the quotation marks around the plugin paths.
Micheal813
18th January 2018, 23:29
Try removing the quotation marks around the plugin paths.
Worked. I thought I needed quotes because of the spaces in the file path. Thank you for the help.
Groucho2004
18th January 2018, 23:33
I thought I needed quotes because of the spaces in the file path.Spaces are not a problem, some special characters are. Also, look closely where the quotation marks should be:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
RTFM :D
Micheal813
18th January 2018, 23:38
Spaces are not a problem, some special characters are. Also, look closely where the quotation marks should be:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
RTFM :D
I see. Thanks again for the help.
Max_143
5th February 2018, 17:17
Does not work in Avisynth+ ImageSource, LoadVirtualDubPlugin .
I uninstalled through Universal Avisynth Installer.
Then installed Avisynth+ from github.
Now work ImageSource, LoadVirtualDubPlugin.
I uninstalled and then installed through Universal Avisynth Installer.
Now work ImageSource, LoadVirtualDubPlugin.
This is not an installer but a switch?
Sorry for my English.)
Groucho2004
5th February 2018, 17:47
Does not work in Avisynth+ ImageSource, LoadVirtualDubPlugin .
I uninstalled through Universal Avisynth Installer.
Then installed Avisynth+ from github.
Now work ImageSource, LoadVirtualDubPlugin.
I uninstalled and then installed through Universal Avisynth Installer.
Now work ImageSource, LoadVirtualDubPlugin.
This is not an installer but a switch?
It's an installer, uninstaller and a switch. Maybe you didn't follow the instructions. "Does not work in Avisynth+" is rather vague and doesn't help tracking down the problem.
Max_143
5th February 2018, 18:28
There is no function named 'ImageSource'
There is no function named 'LoadVirtualDubPlugin'
Internal filters (crop, trim, SeparateFields, ...?) are working
External filters too are working
Groucho2004
5th February 2018, 18:49
There is no function named 'ImageSource'
There is no function named 'LoadVirtualDubPlugin'
Internal filters (crop, trim, SeparateFields, ...?) are working
External filters too are workingYou probably didn't set it up properly. Can you post your customized batch file?
Max_143
5th February 2018, 19:24
:: ########################## Start Configuration #########################
:: The variable "AVS_SRC_DIR" needs to be set according to the location of
:: this batch file ("Option 1" and "Option 2" are mutually exclusive):
:: Option 1
:: When you unpack the repository and just want to create a shortcut to
:: the batch file, remove the colon from the beginning of the next line.
:set AVS_SRC_DIR=%~dp0
:: Option 2
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: use a fully qualified path to the source directory.
:: Example:
:: set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository
set AVS_SRC_DIR=D:\Avisynth\AvisynthRepository
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=D:\Avisynth\Plugin32
set PLUGDIR64=D:\Avisynth\Plugin64
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=D:\Avisynth\AddPlugin32
set PLUGDIR64PLUS=D:\Avisynth\AddPlugin64
:: **IMPORTANT:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
:: ########################### End Configuration ##########################
Groucho2004
5th February 2018, 19:48
[CODE]:: Option 2
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: use a fully qualified path to the source directory.
:: Example:
:: set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository
set AVS_SRC_DIR=D:\Avisynth\AvisynthRepository
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=D:\Avisynth\Plugin32
set PLUGDIR64=D:\Avisynth\Plugin64
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=D:\Avisynth\AddPlugin32
set PLUGDIR64PLUS=D:\Avisynth\AddPlugin64
The part highlighted in red is the problem. Since you specified your own plugin directories, the directories within the repository are no longer valid. They do however contain the plugins that come with AVS(+) which include ImageSeq.dll and VDubFilter.dll.
What you could do is this:
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
:set PLUGDIR32=
:set PLUGDIR64=
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=D:\Avisynth\AddPlugin32
set PLUGDIR64PLUS=D:\Avisynth\AddPlugin64
Max_143
5th February 2018, 20:03
Thanks I'll know
After the standard installation, I no longer reproduce the problem.
Groucho2004
18th March 2018, 16:42
2018-03-18
Updated AVS+ to r2636
minaust
27th March 2018, 02:03
2018-03-18
Updated AVS+ to r2636
Thankee sir.
Groucho2004
30th March 2018, 14:32
2018-03-30
Updated AVS+ to r2664
Groucho2004
4th July 2018, 11:29
2018-07-04
Updated AVS+ to r2728
Groucho2004
19th December 2018, 11:44
2018-12-19
Updated AVS+ to r2768
Groucho2004
22nd December 2018, 21:03
2018-12-22
Updated AVS+ to r2772
StainlessS
3rd April 2019, 20:58
Respectful request:
Hows bout adding Avisynth Neo to the suppository, handy for testing stuff.
Only current version probably required, probably dont need older version as below.
VersionStrings
# Avisynth NEO
AviSynth Neo 0.1 (r2822, Neo, i386)
AviSynth Neo 0.1 (r2822, Neo, x86_64)
# Avisynth NEO Forerunner Avisynth+ CUDA
AviSynth+ 0.1 (r2533, CUDA, i386)
AviSynth+ 0.1 (r2533, CUDA, x86_64)
The old version already had the DumpFilterGraph function,
- Usage of DumpFilterGraph
Put "SetGraphAnalysis(true)" on top of your script. Use "DumpFilterGraph" to the last clip to output a filter graph.
---------- sample avs script ------------
SetGraphAnalysis(true)
srcfile="..."
LWLibavVideoSource(srcfile)
QTGMC()
DumpFilterGraph("graph.txt", mode=2)
Many thanks for your consideration :)
Fancy FilterGraph for QTGMC():- https://i.imgur.com/JMWKKaO.png
EDIT: VersionStrings
# AviSynth v2.58
AviSynth 2.58, build:Dec 22 2008 [08:46:51]
# AviSynth v2.60
AviSynth 2.60, build:Mar 31 2015 [16:38:54]
# AviSynth v2.61 Alpha
AviSynth 2.61, build:May 17 2016 [16:06:18] VC2008Exp
# Avisynth v2.60 ICL
AviSynth 2.60 (ICL10)
# Avisynth V2.60 MT
AviSynth 2.60, build:Feb 20 2015 [03:16:45]
# Avisynth+ v2.60
AviSynth+ 0.1 (r2772, MT, i386)
AviSynth+ 0.1 (r2772, MT, x86_64)
# Avisynth NEO
AviSynth Neo 0.1 (r2822, Neo, i386)
AviSynth Neo 0.1 (r2822, Neo, x86_64)
# Avisynth NEO Forerunner Avisynth+ CUDA
AviSynth+ 0.1 (r2533, CUDA, i386)
AviSynth+ 0.1 (r2533, CUDA, x86_64)
EDIT: NOTE, some versions use COLON (':') in VersionString, and so NOT usable in filename production without mod.
Groucho2004
4th April 2019, 13:45
2019-04-04
Added Avisynth+ Neo r2822
Cosmetics
StainlessS
4th April 2019, 14:08
Thank you lovely boy :) (In the dulcet Welsh tones of Windsor Davies [ EDIT: R.I.P. 17 January 2019, aged 88 ] )
Groucho2004
10th April 2019, 15:39
2019-04-10
Changed "Avisynth+ Neo" to "Avisynth Neo"
Cosmetics
Sharc
12th April 2019, 18:34
I know 'version.avs', but it would be convenient to see the actual installed/active version on the first line when setavs.bat is run. Could this perhaps be added?
Groucho2004
12th April 2019, 22:10
I know 'version.avs', but it would be convenient to see the actual installed/active version on the first line when setavs.bat is run. Could this perhaps be added?Good idea, I'll add it soon.
Groucho2004
13th April 2019, 22:46
2019-04-13
Added display of currently installed Avisynth version(s)
Sharc
14th April 2019, 10:22
2019-04-13
Added display of currently installed Avisynth version(s)
Thanks.
I am getting the "path not found" message instead, even when I set the fully qualified path.
Edit:
Never mind. My mistake, I didn't copy the Tools folder. All ok now. Thanks.
ASVTut
22nd April 2019, 16:25
Stupid question: How is AVISynth NEO different from AVS+/classic AVS? I got a little lost trying to read the documentation on the GitHub page, and I couldn't find good info from a Google/forum search - other the info shown above that it supports generating visual filtergraphs.
Groucho2004
22nd April 2019, 17:36
How is AVISynth NEO different from AVS+/classic AVS? I got a little lost trying to read the documentation on the GitHub page, and I couldn't find good info from a Google/forum search - other the info shown above that it supports generating visual filtergraphs.I don't know anything beyond that either. I just added it because StainlessS asked nicely. ;)
thescrapyard
22nd April 2019, 21:43
I don't know anything beyond that either. I just added it because StainlessS asked nicely. ;)
As far as I could tell from the suggested sparse English words and from the poor translation via Google, its basically AviSynth+ but with CUDA support added and a few plugins that have been ported to support CUDA to show how it works
He has also ported a CUDA version of AVspMod in 32bit and 64bit CUDA
https://github.com/nekopanda/AvsPmod/releases
ChaosKing
22nd April 2019, 21:49
And here are the cuda filters https://github.com/nekopanda/AviSynthCUDAFilters/releases
KTGMC = QTGMC
KDeblock, KFMDeint, etc
StainlessS
23rd April 2019, 01:43
Neo does though seem to suffer from a few problems.
I just added it because StainlessS asked nicely
As Alphonse said,
You can get much farther with a kind word and a gun than you can with a kind word alone.
I guess Grouchy saw the double barrel sticking out from behind my back, and made the wise[-guy] choice.
gispos
24th April 2019, 22:20
He has also ported a CUDA version of AVspMod in 32bit and 64bit CUDA
https://github.com/nekopanda/AvsPmod/releases
It is not a Cuda version, only a few Avisynth Neo parameters have been added. Otherwise it is an older version.
This extension for Avisynth Neo is also available since AvsPmod 2.5.1.16.
--------------------------
Version 2.5.1.16 [2018-12-08] GPo
--------------------------
- AvisynthPlus (pinterf) fork Neo r2822 compatible, added 'func' to avisynth value parsing
Sharc
18th July 2019, 23:20
2019-04-13
Added display of currently installed Avisynth version(s)
This seems not to work anymore.
Edit:
Sorry, forget. My mistake.
Tendrilz
28th September 2019, 14:29
How can i get setavs squared away? When I run the batch file as administrator, it simply comes up saying that it's not defined and then says press any key to continue... Then closes upon the depression of ANY key. I'm just trying to figure out how to set this considering the command prompt that i'm supposed to use to complete said task immediately sees it not being set and closes itself essentially.. I've read this entire thread.. plz dont come back with 'check up a few posts.. yada yada'.. Perhaps I'm a complete moron and blind...
Groucho2004
28th September 2019, 17:09
it simply comes up saying that it's not defined and then says press any key to continue...You don't have to read the entire thread, just the instructions in the first post which you either did not do or you did not understand them.
So, here's the important part:
:: The variable "AVS_SRC_DIR" needs to be set according to the location of
:: this batch file ("Option 1" and "Option 2" are mutually exclusive):
:: Option 1
:: When you unpack the repository and just want to create a shortcut to
:: the batch file, remove the colon from the beginning of the next line.
:set AVS_SRC_DIR=%~dp0
:: Option 2
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: use a fully qualified path to the source directory.
:: Example:
:: set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository
:set AVS_SRC_DIR=
StainlessS
21st October 2019, 07:07
qyot27 posted AviSynth+ 3.4.0, https://forum.doom9.org/showthread.php?p=1888102#post1888102
breaks your avsversion thingy, I envisage several more imminent probs too.
EDIT: Breaks VirtualDub2 a bit as well [script editor crash (probably during loaded avs plugins scan)].
EDIT: Breaks Potplayer,[freezes]
script
Version
WMP and MPC-HC OK (well no immediate crash).
Groucho2004
21st October 2019, 09:23
qyot27 posted AviSynth+ 3.4.0, https://forum.doom9.org/showthread.php?p=1888102#post1888102
breaks your avsversion thingy, I envisage several more imminent probs too.
EDIT: Breaks VirtualDub2 a bit as well [script editor crash (probably during loaded avs plugins scan)].
EDIT: Breaks Potplayer,[freezes]
script
Version
WMP and MPC-HC OK (well no immediate crash).See here (https://forum.doom9.org/showthread.php?p=1888129#post1888129).
Groucho2004
22nd October 2019, 09:44
I plan to update the AVS+ builds to the newly released version 3.4.
BTW - Is anyone using this AVSNEO thingy? Isn't it very unstable? Can I remove it?
StainlessS
22nd October 2019, 10:01
I'm a lil-bit agnostic on the subject, I probably will not ever use it in near future, but dont deny its existence.
Some of the oddities of Neo, may be down to it trying to get rid of Current_Frame, which does I believe conflict with MT stuff.
EDIT: And main level non-global variables are not accessable within main level runtimes. ["main level runtime" eg ScriptClip that is not inside a function]
Groucho2004
25th October 2019, 11:13
2019-10-25
Removed AVS Neo versions
Updated Avisynth+ to 3.4.0 (r2923)
Included version tools have improved error handling
Note:
If you already have an older version of the Universal Installer:
Overwrite "setavs.bat" and the files in the "AVSPLUS_x64", "AVSPLUS_x86" and "Tools" directories with the new versions. You should also delete the AVSNEO_x64 and AVSNEO_x86 directories.
tebasuna51
26th October 2019, 13:18
Thanks Groucho.
To work with Avs+ 3.4.0 64 bits I need run the VC_redist.x64.exe (-2019) included in the instaler from qyot27.
I don't know for what we need delete the entire AvisynthRepository directory (I have many plugins inside).
For me is enough replace the files in the folders: AVSPLUS_x64, AVSPLUS_x86 and Tools
And the new setavs.bat
Optionally we can delete the folders AVSNEO_x64, AVSNEO_x86
Groucho2004
26th October 2019, 16:42
To work with Avs+ 3.4.0 64 bits I need run the VC_redist.x64.exe (-2019) included in the instaler from qyot27.I would recommend to use the AIO (https://github.com/abbodi1406/vcredist/releases) installer instead.
I don't know for what we need delete the entire AvisynthRepository directory (I have many plugins inside).
For me is enough replace the files in the folders: AVSPLUS_x64, AVSPLUS_x86 and Tools
And the new setavs.bat
Optionally we can delete the folders AVSNEO_x64, AVSNEO_x86Yes, what you are suggesting is sufficient, I amended my post.
Nuihc88
29th October 2019, 15:20
BTW - Is anyone using this AVSNEO thingy? Isn't it very unstable? Can I remove it?
While i find it too unstable for encoding jobs, it does seem to have amazingly low latencies. Thus i have been using Avisynth Neo for real-time applications like SVP, where an occasional crash doesn't matter, but every bit of performance counts.
It's improved Prefetch function seems to work wonders for quickly filling up MadVR's frame-buffers when Neo's Prefetch 'frames' is set to the same value as MadVR's 'GPU queue size'. Until (or if at all) Neo's Prefetch 'frames' feature gets synched to more mainstream forks, i'll continue to make use of Neo builds.
Some of the oddities of Neo, may be down to it trying to get rid of Current_Frame, which does I believe conflict with MT stuff.
I guess this explains why while using AVS Neo with some scripts, if i set ffdshow's/PotPlayer's Avisynth 'Buffer back/ahead:' to 1|16, my GPU fans don't spin up; while with 0|16 they do (and i didn't encounter similar behavior with any other forks.)
In Other Words: While AVS Neo is far from stable, i believe it's better to keep it handy (and in people's awareness) for testing, preview and real-time usage cases.
Groucho2004
29th October 2019, 15:45
In Other Words: While AVS Neo is far from stable, i believe it's better to keep it handy (and in people's awareness) for testing, preview and real-time usage cases.You make a good point. I'll put it back. :D
Groucho2004
30th October 2019, 00:53
2019-10-30
Added latest AVS Neo versions (r2827)
setavs.bat cosmetic overhaul and simplified explanation of the variable AVS_SRC_DIR
Included version tools have improved exception handling
Note:
If you already have an older version of the Universal Installer:
Overwrite "setavs.bat" and the files in the "AVSPLUS_x64", "AVSPLUS_x86", "AVSNEO_x64", "AVSNEO_x86" and "Tools" directories with the new versions.
StainlessS
31st October 2019, 10:07
Hi there, just lil-ol' me again.
What if UAI, copied all dll's that are in each distro folder to relevant system32/SysWOW64, along with the Avisynth.dll and devil.dll,
everything then pretty much fully automatic. [eg fftw3.dll, libfftw3f-3.dll, libsndfile-1.dll, AvsRecursion.dll].
You know it makes sense. :)
Groucho2004
31st October 2019, 10:16
You know it makes sense.Copying the fftw DLLs - probably. The other ones appear to be ancient artefacts to me. Which plugs use "libsndfile-1.dll"?
StainlessS
31st October 2019, 10:18
ancient artefacts to me.
Well as you support Ancient Artefacts (v2.58) would not seem out of place for them too.
libsndfile-1.dll ?
SoundOut.
EDIT: Suggestion was for all dll's, not just selective ones. [those mentioned are the ones I have always copied on install of Avs standard without UAI, well actually on system setup]
Groucho2004
31st October 2019, 10:31
Well as you support Ancient Artefacts (v2.58) would not seem out of place for them too.He he, good one. :)
EDIT: Suggestion was for all dll's, not just selective ones. [those mentioned are the ones I have always copied on install of Avs standard without UAI, well actually on system setup]Can you make a list of the sys DLLs that would deserve consideration?
Also, I'm not too keen on checking frequently if these additional files are up to date.
StainlessS
31st October 2019, 11:38
Well I've already listed those that I use (am aware of).
I was suggesting that you do a wildcard scan on the same directory as the Avisynth.dll and Devil.dll's will be installed from,
and copy any others that have been user copied into that same directory into the system32, SysWOW64 folders.
(also, you would not yourself have to keep up to date with user required dll's).
Also, I think eg FFTFilter3D GPU version (whatever its called) copies something like an *.hsl file to sys32/wow thingy.
EDIT: fft3dgpu.hlsl
EDIT: Or maybe create an eg CpyToSys32 type folder in each Avisynth distro folder, and any files at all that user copies there will be sent to system32/SysWOW64.
MysteryX uses some .NET stuff, dont know offhand if any are non dll.
[CpyToSys32 could take care of the lot, and leave you with lots of idle time to spend in the pub]
Groucho2004
31st October 2019, 12:02
I was suggesting that you do a wildcard scan on the same directory as the Avisynth.dll and Devil.dll's will be installed from,
and copy any others that have been user copied into that same directory into the system32, SysWOW64 folders.That's like a concealed auto-correct and the user will never know that he/she f$cked up.
Also, I think eg FFTFilter3D GPU version (whatever its called) copies something like an *.hsl file to sys32/wow thingy.
EDIT: fft3dgpu.hlslNope, I'm quite certain that this has to reside alongside the plugin.
MysteryX uses some .NET stuff, dont know offhand if any are non dll.Yikes.
I like to keep things simple and all this doesn't sit well with me at all.
StainlessS
31st October 2019, 12:09
Nuff Said. :)
Groucho2004
28th January 2020, 21:24
It looks as if the development of NEO has stopped in June last year. I wonder if I should keep those fringe versions in the installer. I also would like to drop the ICL build since it is essentially the same as the AVS 2.6 release.
Any feedback on this? StainlessS?
gonca
28th January 2020, 22:53
As far as NEO, unstable and no longer developed, I would say remove it to avoid issues. Some users will see it side by side with avs+ or avs 2.6 and assume that it is a stable product, or you could dig up avs 1.x and put it in there ;)
Same for ICL, same as avs 2.6
Why duplicate the versions
Simplify it down, easier to maintain that way :D
StainlessS
29th January 2020, 00:13
I dont got no probs if dropped, can always put back if resurrected. [I'll still try to code around it].
Emulgator
2nd February 2020, 00:18
I would keep NEO to be able to play around with it.
To keep ancient AviSynth versions ready for use with ancient and sometimes irreplaceable plugins
(VCMohan's older 2.5 FFT in my case), that is the purpose that serves the Universal so well.
Groucho2004
2nd February 2020, 01:53
I would keep NEO to be able to play around with it.
To keep ancient AviSynth versions ready for use with ancient and sometimes irreplaceable plugins
(VCMohan's older 2.5 FFT in my case), that is the purpose that serves the Universal so well.As for ancient versions - I am keeping 2.5.8.
NEO is dead (https://www.youtube.com/watch?v=vZw35VUBdzo&feature=youtu.be&t=80), just like Polly. It'll have to go.
Groucho2004
3rd March 2020, 12:45
Update:
2020-03-03
- Updated AVS+ to version 3.5 (r3043)
- Removed AVS Neo versions and AVS 2.6 ICL
- Updated version tools
Sharc
3rd March 2020, 15:08
Fails to install the new avisynth+ 32/64bit 3.5.0 (r3043).
I had to revert to the former version 3.4.0 (r2923).
StainlessS
3rd March 2020, 16:22
Come on Grouchy, you're living in the past. [UniversalAvisynthInstaller_2019-03-03.7z]
I'll check it out for prev post prob.
EDIT: Works for me
https://i.postimg.cc/fTB1RzbF/x86.jpg (https://postimages.org/)
https://i.postimg.cc/d0KRMdYK/x64.jpg (https://postimages.org/)
Groucho2004
3rd March 2020, 17:30
UniversalAvisynthInstaller_2019-03-03.7zFixed.
Groucho2004
3rd March 2020, 17:32
Fails to install the new avisynth+ 32/64bit 3.5.0 (r3043).
I had to revert to the former version 3.4.0 (r2923).
Works for me too. Can you be a bit more specific? Did you update your setavs.cmd (formerly setavs.bat)?
Sharc
3rd March 2020, 20:55
Yes.
It SEEMS to install correctly. But when checking the installed version after the installation the string is empty, and the avisynth.dll is not found - as if it had been immediately removed ....
It happens only with the new Avisynth+ 3.5.0. The other versions install as expected. Strange.
Groucho2004
3rd March 2020, 21:28
Yes.
It SEEMS to install correctly. But when checking the installed version after the installation the string is empty, and the avisynth.dll is not found - as if it had been immediately removed ....
It happens only with the new Avisynth+ 3.5.0. The other versions install as expected. Strange.Odd. Try the cleanup procedure from the first post in this thread and try again. Check version(s) with "AVSMeter avsinfo" and/or "AVSMeter64 avsinfo".
Sharc
3rd March 2020, 22:51
Odd. Try the cleanup procedure from the first post in this thread and try again. Check version(s) with "AVSMeter avsinfo" and/or "AVSMeter64 avsinfo".
No luck.
AVSMeter avsinfo just returns an empty string, like
32 Bit:
64 Bit:
Looks like I have to stick to the former version.
Groucho2004
4th March 2020, 00:12
No luck.
AVSMeter avsinfo just returns an empty string, like
32 Bit:
64 Bit:
Looks like I have to stick to the former version.Try the official installer.
Sharc
4th March 2020, 00:36
Try the official installer.
Download from GitHub and attempt to install:
Trojan alert from Windows defender ……..
LigH
4th March 2020, 08:39
Snake oil and its oopsies...
Groucho2004
4th March 2020, 10:09
Download from GitHub and attempt to install:
Trojan alert from Windows defender ……..Ah, Windows Defender, the most powerful productivity contraceptive.
BTW, VirusTotal is perfectly happy with that installer.
Sharc
5th March 2020, 09:53
Ah, Windows Defender, the most powerful productivity contraceptive.
BTW, VirusTotal is perfectly happy with that installer.
After installing 3.5.0 with the official installer (AviSynthPlus_3.5.0_20200302_vcredist.exe) the Universal Installer is working now - and I could uninstall the 'official' 3.5.0 installation.
Thanks for the hint.
Groucho2004
5th April 2020, 19:54
2020-04-05
- Updated AVS+ to version 3.5.1 (r3106)
- Added AVS+ XP versions
stax76
5th April 2020, 20:10
Ah, Windows Defender, the most powerful productivity contraceptive.
Here it almost never found anything except recently RipBot264 and there was definitely something wrong as 7zip failed to extract it, I've tried both the link from VideoHelp and Ataks official MediaFire link.
Music Fan
5th April 2020, 20:43
Hi,
after having problems with the installation of the last AVS+ (3.5.1_20200402), I found your tool to de-install and re-install it properly.
I talked about the problems there ;
https://forum.doom9.org/showthread.php?p=1906407#post1906407
But after having de-installed both x86 and 64 versions with your un-installer, Windows 7 still detected AVS+ in the program list, thus I un-installed it again with Windows, is it normal ?
And even after this second de-installation, the folder AVS+ was still in the C:\Program Files (x86)\ folder (but with only 2 sub-folders ; plugins+ and plugins64+).
And now I'm really confused about what to re-install : is the 64 bit version compatible with Virtual Dub (32 bit) ?
Should I install both x86 and 64 versions or only one ?
Does the 64 bit version handle 32 bit plugins ?
In which subfolder should I place plugins ? They are four.
How can the 64 bit plugins work while they are in C:\Program Files (x86), which is supposed to be the 32 bit directory ?
Sorry for all these questions but AviSynth 64 bit is not easy at all to approach.
stax76
5th April 2020, 21:01
Does the 64 bit version handle 32 bit plugins ?
VirtualDub2 is the host process and avisynth or avisynth plugins are DLLs loaded by the host process, it's not possible to mix 64 and 32 bit, EXE and DLL must either be completely 32 bit or completely 64 bit.
How can the 64 bit plugins work while they are in C:\Program Files (x86), which is supposed to be the 32 bit directory ?
Some setups install 64-Bit in 'C:\Program Files (x86)', maybe AviSynth and LAV Filters.
Music Fan
5th April 2020, 21:14
Ok, thanks. I didn't know VirtualDub2.
And what difference between the folders plugins and plugins+ ?
edit : I downloaded VirtualDub2, I see a 64 bit version but I'm little bit afraid of 64 bit now, I don't know if all my scripts can work with it.
And I still use the filter Neat, which is only 32 bit I guess.
stax76
5th April 2020, 21:23
Ok, thanks. I didn't know VirtualDub2, but it seems to be 32 bit isn't it ?
There is a 64-Bit VirtualDub2 version, almost all apps that are still maintained are available in 64-Bit.
And what difference between the folders plugins and plugins+ ?
I've forgotten it (staxrip uses manual plugin loading), it's probably documented in the wiki or in the avisynth+ thread, using plugins+ dir for everything will probably work.
Music Fan
5th April 2020, 21:42
There is a 64-Bit VirtualDub2 version
Yes I saw, I edited my previous post when you were typing this one.;)
As I said in my edit, I use Neat (done for Virtual Dub but useable in an avisynth script), which is old (thus 32 bit).
I believed a 64 bit software could open 32 bit plugins (but not the reverse of course), but as you say that everything has to be 32 or 64 bit, that's problematic.
That would be sad to use only 32 bit while my pc is 64.
I've forgotten it (staxrip uses manual plugin loading), it's probably documented in the wiki or in the avisynth+ thread, using plugins+ dir for everything will probably work.
Ok, I didn't find information in the Avisynth+ thread but I guess these 2 folders are probably done just to separate the old and the new plugins (those done for Avisynth+), but without real importance.
LigH
6th April 2020, 07:35
The plugins[64]+ directories are for plugins which will work exclusively with AviSynth+ but may fail to work with legacy AviSynth (which handles only one plugin auto-load directory).
Reference: AviSynth Wiki / AviSynth+: Plugin Autoloader (http://avisynth.nl/index.php/AviSynth%2B#Plugin_Autoloader)
Music Fan
6th April 2020, 08:49
Ok thanks.
For the moment, I believe I will install only 32 bit because I didn't use Avisynth for years, I need some time to find again my habits with it.
StainlessS
14th April 2020, 14:27
This whole story with the arrays was more than 3 years ago. It's time to re-test, next package will come with and without arrays.
Grouchy, you need to get ready to immediately release new Universal whatsit when P gets his a** into gear :)
EDIT: With & without.
Groucho2004
14th April 2020, 14:37
With & without.Let's summarise - 32 & 64 bit, XP & non-XP, with and w/o arrays = 2^3 = 8 versions. And that's just AVS+.
You better prepare to make you console window bigger. :D
Groucho2004
14th April 2020, 14:41
Maybe I should make an Universal Installer just for AVS+ testing....
StainlessS
14th April 2020, 15:00
Whatever you do I sure that it will be well thought out and eminently usable, with lots of versions :)
Kin'ell.
Groucho2004
21st May 2020, 23:49
2020-05-22
There are now 2 versions (3.5.1 should be compatible with older 2.5 plugins):
UniversalAvisynthInstaller_351.7z (contains AVS+ 3.5.1 (r3106))
UniversalAvisynthInstaller_360.7z (contains AVS+ 3.6.0 (r3276))
StainlessS
22nd May 2020, 00:37
Thank you lovely boy :) [In the dulcet tones of the late Windsor Davies]
EDIT: Mr Davies:- https://www.google.com/search?source=univ&tbm=isch&q=%22Thank+you+lovely+boy%22+windsor+davies&sa=X&ved=2ahUKEwjm7sK_kMbpAhVMSBUIHQxFDQMQsAR6BAgFEAE&biw=1920&bih=920
EDIT: God this cider is good, only bout 12 cans and beginning to feel a bit piissed.
Groucho2004
22nd May 2020, 01:09
only bout 12 cans and beginning to feel a bit piissed.12 cans, bloody hell. You're really keeping your urinary tract busy.
Edit1 - How 'bout some dancing (https://www.youtube.com/watch?v=CkNrmhXUu0k)?
Edit2 - Here (https://www.youtube.com/watch?v=UrYBUGiVeV0)'s one of Gilbert Gottfried's best CC Roast performances.
StainlessS
22nd May 2020, 02:10
@GG
You make me feel like Dancin'
(I've seen that parakeet one before, still gud)
That 2nd clip, well what canna say, was a bit disappointed at first then in virtual hysterics, funny guy, real funny guy.
Thank you for making my day less drab :)
You make me feel like ...
https://cheesebuerger.de/images/smilie/musik/f045.gif
Now, remember to grab your Towel!
https://frupic.frubar.net/shots/39649.png
lewyturn
13th June 2020, 15:41
I installed avisynth+ 3.6.0,Why is it displayed when loading 64-bit dll: Cannot load a 64 bit DLL in 32 bit Avisynth ?
My system is windows 7 64 bit,Why is the 32-bit avisynth displayed after installation?
who can help me?
Groucho2004
13th June 2020, 15:59
I installed avisynth+ 3.6.0,Why is it displayed when loading 64-bit dll: Cannot load a 64 bit DLL in 32 bit Avisynth ?
My system is windows 7 64 bit,Why is the 32-bit avisynth displayed after installation?
who can help me?Do you have a previous install (via the official installer) of Avisynth+?
Also, download this tool (https://forum.doom9.org/showthread.php?t=176079), select Avisynth 32 Bit and then Avisynth 64 Bit and report any errors. You can save a log file for each configuration.
lewyturn
14th June 2020, 06:15
I only installed version 2.6 before. The problem now is that the 64-bit dll cannot be loaded.
I used this tool,Please see my avisynth information.
###############################
[Avisynth info]
VersionString: AviSynth+ 3.6.0 (r3276, 3.6, i386)
VersionNumber: 2.60
File / Product version: 3.6.0.0 / 3.6.0.0
Interface Version: 8
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\SysWOW64\avisynth.dll
Avisynth.dll time stamp: 2020-05-20, 09:26:02 (UTC)
PluginDir2_5 (HKLM, x86): D:\Program Files\AviSynth+\plugins
PluginDir+ (HKLM, x86): D:\Program Files\AviSynth+\plugins+
[Avisynth info]
VersionString: AviSynth+ 3.6.0 (r3276, 3.6, x86_64)
VersionNumber: 2.60
File / Product version: 3.6.0.0 / 3.6.0.0
Interface Version: 8
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\system32\avisynth.dll
Avisynth.dll time stamp: 2020-05-20, 09:13:34 (UTC)
PluginDir2_5 (HKLM, x64): D:\Program Files\AviSynth+\plugins64
PluginDir+ (HKLM, x64): D:\Program Files\AviSynth+\plugins64+
#############################################
Groucho2004
14th June 2020, 07:13
Are these the complete log files?
Anyway, somehow a 64 bit plugin made it to the 32 bit plugin directory.
I suggest you uninstall both 64 bit and 32 bit AVS+, clean up orphan directories (if any) and re-install.
lewyturn
14th June 2020, 07:34
I used RegWorkshop to clean up the registry.
This is the installation file "AviSynthPlus_3.6.0_20200520_vcredist".
After installation, why is the 32-bit avisynth+ displayed? This is the main problem.
Groucho2004
14th June 2020, 07:51
This is the installation file "AviSynthPlus_3.6.0_20200520_vcredist".
After installation, why is the 32-bit avisynth+ displayed? This is the main problem.So you used the official installer, not the universal installer. I suppose you simply did not deselect the 32 bit version.
Again, are these the complete log files?
lewyturn
14th June 2020, 07:55
################################
[Avisynth info]
VersionString: AviSynth+ 3.6.0 (r3276, 3.6, x86_64)
VersionNumber: 2.60
File / Product version: 3.6.0.0 / 3.6.0.0
Interface Version: 8
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\system32\avisynth.dll
Avisynth.dll time stamp: 2020-05-20, 09:13:34 (UTC)
PluginDir2_5 (HKLM, x64): D:\Program Files\AviSynth+\plugins64
PluginDir+ (HKLM, x64): D:\Program Files\AviSynth+\plugins64+
[C++ 2.5 Plugins (64 Bit)]
D:\Program Files\AviSynth+\plugins64+\VSFilterMod.dll [2.5.2.1]
[C++ 2.6 Plugins (64 Bit)]
D:\Program Files\AviSynth+\plugins64+\avss.dll [2.0.0.13]
D:\Program Files\AviSynth+\plugins64+\ConvertStacked.dll [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\DirectShowSource.dll [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\FastBlur.dll [2019-12-31]
D:\Program Files\AviSynth+\plugins64+\ffms2.dll [2016-12-29]
D:\Program Files\AviSynth+\plugins64+\FQPlus.dll [2017-03-19]
D:\Program Files\AviSynth+\plugins64+\GScript_26_64.dll [2020-05-06]
D:\Program Files\AviSynth+\plugins64+\ImageSeq.dll [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\LoadDLL.dll [2019-03-02]
D:\Program Files\AviSynth+\plugins64+\LSMASHSource.dll [2020-05-31]
D:\Program Files\AviSynth+\plugins64+\Shibatch.dll [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\TimeStretch.dll [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\TxPlus.dll [2017-03-13]
D:\Program Files\AviSynth+\plugins64+\VDubFilter.dll [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\VSFilter.dll [3.2.0.802]
[Scripts (AVSI)]
D:\Program Files\AviSynth+\plugins64+\colors_rgb.avsi [2020-05-20]
[Uncategorized DLLs (64 Bit)]
D:\Program Files\AviSynth+\plugins64+\XySubFilter.dll [3.2.0.802]
[Uncategorized files]
D:\Program Files\AviSynth+\plugins64+\colors_rgb.txt [2020-05-20]
D:\Program Files\AviSynth+\plugins64+\FastBlur.txt [2019-06-30]
[Plugin errors/warnings]
________________________________________________________________________________________________
Function duplicates:
"Weave" : "[InternalFunction]"
"Weave" : "[PluginFunction]"
________________________________________________________________________________________________
"D:\Program Files\AviSynth+\plugins64+\FQPlus.dll" requires the FFTW library for some functions.
Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html
'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
________________________________________________________________________________________________
##################################################
lewyturn
14th June 2020, 08:11
I removed the 32 bit for installation and the display is still 32 bit, and the avs icon is not displayed
Groucho2004
14th June 2020, 08:19
Which program gives you that error message? What AVS icon?
lewyturn
14th June 2020, 08:50
It is the icon of the "xxx.avs" file. I tried other versions, still 32-bit, which is why I cannot load 64-bit. Do you have any good suggestions?
Groucho2004
14th June 2020, 09:04
It is the icon of the "xxx.avs" file. I tried other versions, still 32-bit, which is why I cannot load 64-bit. Do you have any good suggestions?I really don't know how to help you. I still have no idea what icon you mean and how it is relevant. What other versions of what have you tried? And again, which program gives you the error message?
lewyturn
14th June 2020, 09:23
AviSynthPlus-MT-r2772-with-vc_redist
Groucho2004
14th June 2020, 09:33
AviSynthPlus-MT-r2772-with-vc_redistSorry, can't help you, there's just too little info for troubleshooting.
I think there some fundamental things about Avisynth and how it interacts with software that uses it which you don't yet understand.
There's an excellent Wiki here (http://avisynth.nl/index.php/Getting_started) where you can get started.
LigH
14th June 2020, 16:24
You can use 64-bit AviSynth+ and 64-bit plugins only in a 64-bit application. Running a 32-bit application will only call 32-bit AviSynth+, and you can only load 32-bit plugins.
gispos
14th June 2020, 20:41
I only installed version 2.6 before. The problem now is that the 64-bit dll cannot be loaded.
I used this tool,Please see my avisynth information.
###############################
[Avisynth info]
VersionString: AviSynth+ 3.6.0 (r3276, 3.6, i386)
VersionNumber: 2.60
File / Product version: 3.6.0.0 / 3.6.0.0
Interface Version: 8
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\SysWOW64\avisynth.dll
Avisynth.dll time stamp: 2020-05-20, 09:26:02 (UTC)
PluginDir2_5 (HKLM, x86): D:\Program Files\AviSynth+\plugins
PluginDir+ (HKLM, x86): D:\Program Files\AviSynth+\plugins+
[Avisynth info]
VersionString: AviSynth+ 3.6.0 (r3276, 3.6, x86_64)
VersionNumber: 2.60
File / Product version: 3.6.0.0 / 3.6.0.0
Interface Version: 8
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\system32\avisynth.dll
Avisynth.dll time stamp: 2020-05-20, 09:13:34 (UTC)
PluginDir2_5 (HKLM, x64): D:\Program Files\AviSynth+\plugins64
PluginDir+ (HKLM, x64): D:\Program Files\AviSynth+\plugins64+
#############################################
Use VirtualDub2 or AvsPmod in the 64bit version and create / open a script with it.
StainlessS
16th June 2020, 11:15
Yo dude,
Just thought I'de give a heads up here, that there was an AIO (All-In-One) CPP runtimes update on 2nd June 2020 (14 days ago),
by abbodi1406 on github, v0.31.0 @ 28.6MB.
[combined updates with M$ crud removed, 2005 -> 2019, much smaller than individual updates, also will install where official updates with crud sometimes fail install]
https://github.com/abbodi1406/vcredist/releases
EDIT: I dont think this AIO update removes old runtimes for XP, for XP need Uninstall all runtimes by hand, then run this updater.
manolito
16th June 2020, 11:34
EDIT: I dont think this AIO update removes old runtimes for XP, for XP need Uninstall all runtimes by hand, then run this updater.
This is only needed once before installing the AIO package for the first time. Upon subsequent installs no manual uninstall of older runtime versions will be necessary.
StainlessS
16th June 2020, 12:20
Cheers for that Mani, did not know/forgot :)
EDIT: Making a note of that in archive directory.
Created file in archive
"!!! Only Need XP unistall for 1st time use of abbodi1406 - thereafter not needed !!! .txt"
Dont need to open/read text file,.
Groucho2004
20th June 2020, 16:19
2020-06-20
UniversalAvisynthInstaller_361.7z (contains AVS+ 3.6.1 (r3300))
StainlessS
20th June 2020, 16:44
Cheers GG. [Giddy-up there GG] https://www.cosgan.de/images/smilie/tiere/g080.gif
lewyturn
30th June 2020, 14:35
I now use "FileTypesMan" to switch between 32-bit and 64-bit players to solve the problem of loading plugins. Is there no other way?
I mean there is no bridge between 32-bit and 64-bit plugins?
Groucho2004
30th June 2020, 15:33
I now use "FileTypesMan" to switch between 32-bit and 64-bit players to solve the problem of loading plugins.What problem? If installed correctly, Avisynth 32 bit loads plugins from the 32 bit plugin directory referenced in the registry and Avisynth 64 bit loads plugins from the 64 bit plugin directory referenced in the registry.
I mean there is no bridge between 32-bit and 64-bit plugins?Can you elaborate on 'bridge'?
Possibly: Loading 32-bit plugins in 64-bit AviSynth+ which do not yet have a native 64-bit build or alternative... but there should be few, the list of AviSynth+ x64 plugins (http://avisynth.nl/index.php/AviSynth%2B_x64_plugins) covers most of the commonly used important plugins already.
In general it is not possible. A 64-bit DLL can only be used by a 64-bit process, same for 32-bit code. A "bridge" would need to run a 32-bit process to load a 32-bit DLL and then communicate with a 64-bit DLL in a separate channel, and I highly doubt this is easy to manage.
StainlessS
1st July 2020, 12:11
lewyturn,
For AVS file, right click "open With", and navigate to your 32/64 bit player, if you want to, un-select tick box for "open with every time" (or whatever its called),
then stop player. Do same for the other xNN bit player with same AVS file.
Thenceforth, just right click and select the player you want [I do this for VirtualDuib2, x86 and x64, way easier than screwing arnound with FileTypesMan].
EDIT: For "open with every time" (or whatever its called) I always have it open PS-PAD text editor, and in PS-PAD, I can set to open script
in x86 player when certain key combo pressed, or x64 player when alternate combo pressed.
PS-PAD (and other text editors, eg NotePad++) can have Avisynth syntax hiliting. NotePad++ can also run script in player/Vd2.
EDIT: Every now and then, the choice of x86 or x64 bit VirtualDub2 disappears from right click menu [every 3 -> 6 months or so),
dont know why, but just need to repeat instructions.
EDIT:
Syntax Hiliting
[Your favorite editor for Avisynth? ]:- https://forum.doom9.org/showthread.php?t=170684&highlight=syntax+hiliting
Groucho2004
1st July 2020, 14:20
I now use "FileTypesMan" to switch between 32-bit and 64-bit players to solve the problem of loading plugins. Is there no other way?I think I know now what you are referring to. I'm exclusively using 64 bit Avisynth at this stage and for all the plugins I need there are 64 bit versions.
Assuming that your problem is the lack of a 64 bit version of one or more plugins you use, could tell us which these are?
Groucho2004
1st July 2020, 14:26
Your favorite editor for Avisynth?UltraEdit
https://i.postimg.cc/65zvK6Cp/Image2.png
I'd like to recommend "DejaVu Sans Mono" as code font, looks a lot nicer than Courier to me.
And for many source formats, I like PSPad as editor (but for AviSynth scripts, VirtualDub2 has a mostly sufficient internal editor, and its integration in a video timeline editor is more valuable to me).
StainlessS
1st July 2020, 15:18
Agreed on VDub2, but for initial hack out of script need something that dont crash at first mistake, so PS-PAD.
(Well, actually twas mostly VDubMod that crashed at any mistake, guess I just got into the habit).
VDub2 is great, bout time they dumped all of them there other Vdub efforts that are Stickied in VD forum, they is all dead as dodos.
[Not a bad idea to add VD2 as sticky too, indeed criminal not to]
EDIT
"DejaVu Sans Mono", I'll take a look thanks.
Sharc
1st July 2020, 15:25
I think I know now what you are referring to. I'm exclusively using 64 bit Avisynth at this stage and for all the plugins I need there are 64 bit versions.
Assuming that your problem is the lack of a 64 bit version of one or more plugins you use, could tell us which these are?
Hmmm... there are probably still quite a few (you might not use all of these though):
https://forum.doom9.org/showthread.php?p=1904750#post1904750
Groucho2004
1st July 2020, 15:28
Hmmm... there are probably still quite a few (you might not use all of these though):
https://forum.doom9.org/showthread.php?p=1904750#post1904750That's why I asked him which ones he uses. He may not be aware that there are already 64 bit versions of the plugs he needs.
kohai-ut
5th October 2020, 22:15
I've got a problem where no matter what installer I use, virtualdub (64bit version) can't see the 64bit avisynth+. If I do a simply .avs with nothing but version() in it, virtualdub fails. The windows media player will open it but shows the 32bit version is being used. A 32 bit version of virtualdub will also work with the 32bit avisynth+. I've had this occur on a couple of different pcs/laptops. Usually if I fiddle with it, then it will randomly start working and I won't know what I did to get it to work. Fiddle = install using the full installer, install using the universal installer, uninstalling a lot, trying various 32 bit and 64 bit combinations, reboot randomly, trying different version #s, etc.
I raised the question with the developer of virtualdub2 and he went and used the regular installer and "it worked for him".
With this latest PC, I can't get it to work. I tried for 2-3 hours. I need a better strategy of tracking down what is missing in my 64 bit install process. Hopefully I've explained this well. Any hints?
tebasuna51
6th October 2020, 02:43
@kohai-ut
To know problems in your Avisynth64 installation run:
AVSMeter (https://forum.doom9.org/showthread.php?p=1814761#post1814761)64 -avsinfo -log
and put here the log file.
AviSynth+ 3.5 (r3106, 3.5, x86_64) and VirtualDub2 44282 work fine here.
kohai-ut
6th October 2020, 23:22
@kohai-ut
To know problems in your Avisynth64 installation run:
AVSMeter (https://forum.doom9.org/showthread.php?p=1814761#post1814761)64 -avsinfo -log
and put here the log file.
AviSynth+ 3.5 (r3106, 3.5, x86_64) and VirtualDub2 44282 work fine here.
Great! Here is the output I get:
C:\temp\AVSMeter3060>AVSMeter64.exe -avsinfo -log
AVSMeter 3.0.6.0 (x64), (c) Groucho2004, 2012-2020
Error: Cannot load avisynth.dll
Dependencies that could not be loaded:
VCRUNTIME140_1.dll
C:\temp\AVSMeter3060>
I get this with the windows installer version if 64bit only is installed and I tried it also with the univeral installer with just the 64bit installed.
This PC I'm using is a really fresh install of Windows. I'll google this error.
Update:
I got it working! I downloaded the visual studio redistributable package for x64 from the microsoft website and it solved this problem. For the search engines out there and other stuck users, the Virtualdub error I was getting was: AVI Import Filter error: (Unknown) (80040154)
Thanks for the help!
Groucho2004
2nd December 2020, 14:42
2020-12-02
Added Avisynth+ r2772 for debugging purposes.
r2772 is about 2 years old and may be helpful to identify bugs introduced during development in the meantime.
StainlessS
2nd December 2020, 16:20
Thanks G2K4.
Groucho2004
8th December 2020, 16:40
2020-12-08
Added Avisynth+ 2.62 Test5 (r3338) for testing purposes.
Groucho2004
19th January 2021, 07:49
2021-01-19
- Added Avisynth+ 3.70 (r3382) (32/64 bit + XP compatible versions).
- Removed 3.6.1 and 3.6.2 Test versions
tebasuna51
19th January 2021, 13:27
2021-01-19
- Added Avisynth+ 3.70 (r3382) (32/64 bit + XP compatible versions).
- Removed 3.6.1 and 3.6.2 Test versions
I'm still using Avisynth+ 3.5 (r3106) to be MeGUI, and others plugins, compatible.
I'm still don't know the 3.70 improvements for standard windows users.
stax76
19th January 2021, 14:13
For instance, Win 10 long path support, this has been a frequent user request.
manolito
19th January 2021, 15:34
I'm still using Avisynth+ 3.5 (r3106) to be MeGUI, and others plugins, compatible.
I'm still don't know the 3.70 improvements for standard windows users.
Basically I agree...
Version 3.5.1 was very stable. Version 3.60 integrated commits from AVS Neo which was not tested well, and the release was a major disaster for a lot of users. Many old plugins stopped working. But pinterf worked his ass off to fix these issues, and all I can say is that the current release 3.70 has solved all of the plugin incompatibilities for me. No idea if this is also true for MeGUI, though.
Groucho2004
19th January 2021, 17:35
Basically I agree...
Version 3.5.1 was very stable. Version 3.60 integrated commits from AVS Neo which was not tested well, and the release was a major disaster for a lot of users. Many old plugins stopped working. But pinterf worked his ass off to fix these issues, and all I can say is that the current release 3.70 has solved all of the plugin incompatibilities for me. No idea if this is also true for MeGUI, though.FYI - 3.5.1 is still available in my Mediafire repository for those who want it.
tebasuna51
20th January 2021, 02:59
Of course also in Github (https://github.com/AviSynth/AviSynthPlus/releases/tag/v3.5.1), like I'm not a XP user I replace the XP versions with v3.5.1 in your installer to make tests.
And yes, MeGUI crash with v3.70, I don't use many plugins, only one don't work detected by AVSMeter:
[Plugin errors/warnings]
________________________________________________________________________________________________
'C:/Portable/Avs/AVSPLUS370_x64/plugins/KNLMeansCL.dll' cannot be used as a plugin for AviSynth.
________________________________________________________________________________________________
Like I don't need long paths...
kedautinh12
20th January 2021, 04:07
I think you used old ver KNLMeansCL, download new ver here from Pinterf:
https://drive.google.com/file/d/1SuIs3q_UMqgDnPM5zTF44ErGmqqoCCcD/view?usp=drivesdk
LigH
20th January 2021, 08:23
Just a few days ago I mentioned that in another thread, via AviSynth Wiki: AviSynth+ x64 plugins (http://avisynth.nl/index.php/AviSynth%2B_x64_plugins) you can find KNLMeansCL 1.1.1 "compatibility rebuild for AviSynth+ 3.6" in pinterf's github releases (https://github.com/pinterf/KNLMeansCL/releases).
I had 4 old incompatible plugins to be replaced. All were listed in the Wiki table or obsolete anyway.
pooksahib
12th December 2021, 10:44
I already had an old 32 bit version installed. I ran the batch and installed avisynth+64bit. Ran the batch again and it confirmed that I now had 32 and 64 bit versions installed. But where is the new install? There's nothing for avisynth+ in my C\Program Files. Also, Control Panel\Programs and Features shows only my old avisynth. Thank you.
StainlessS
12th December 2021, 12:05
clickMe
https://i.postimg.cc/WD5PrN6m/Untitled-00.jpg (https://postimg.cc/WD5PrN6m)
Plugins directories are in the respective avs version folders.
setavs.cmd sets the plugins directory's, show/edit in notepad.
You can install both x86 and x64 versions simultaneously. [Need run setavs.cmd for each, as Administrator]
pooksahib
12th December 2021, 12:29
Thanks, StainlessS. I assume, then, that all versions in the AvisynthRepository folder are really just portable apps?
tebasuna51
12th December 2021, 12:42
Thanks, StainlessS. I assume, then, that all versions in the AvisynthRepository folder are really just portable apps?
Not exactly portable because two files (avisynth.dll and devil.dll) must be in windows system folders (32 and 64 bits).
And the registry must be modified to point to the correct plugin folder, than can exist out off windows/programs... folders.
Both changes are make by setavs.cmd for you.
StainlessS
12th December 2021, 14:07
Additionally, if Pinterf/Qyot27 post an update, can just copy the x86 avisynth.dll and devil.dll into the current x86 AVS+ folder,
and same for x64. The version_to_install info displayed in setavs.cmd will be wrong but no big deal.
Groucho has gone AWOL for some time now, so not updated.
Sharc
1st January 2022, 12:39
Additionally, if Pinterf/Qyot27 post an update, can just copy the x86 avisynth.dll and devil.dll into the current x86 AVS+ folder,
and same for x64. The version_to_install info displayed in setavs.cmd will be wrong but no big deal.
Groucho has gone AWOL for some time now, so not updated.
Thank you, and Happy New Year. Worked without problems here. Easy to change the echo text to 3.7.1
Any signs of life from Groucho? I hope he is well.
StainlessS
1st January 2022, 13:10
Any signs of life from Groucho? I hope he is well.
We hope so too, but,
Maybe he's just skiving and wanting people to beg him to come back,
come back please Grouchy, you got work to do, and yes we all miss you so much.
[such a needy individual].
And a Happy New Year even if you dont come back.
Emulgator
9th February 2022, 20:42
Raizo asked in AviSynth+ thread, so here it is:
Adapted Foldernames 9 and 10
from
AVSPLUS370_x64
AVSPLUS370_x86
to
AVSPLUS372_x64
AVSPLUS372_x86
::Batch script for fast switching of Avisynth versions
::Initial idea and work by Groucho2004
::Modified by jones1913
::Modified and extended by Groucho2004
::Updated for AVSPLUS372 folders by Emulgator
@echo off
cls
setlocal
:Check administrative privileges
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
:: ########################## Start Configuration #########################
:: The variable "AVS_SRC_DIR" must be set according to the location of
:: this batch file.
:: The simplest way to have this up and running is to copy the "AvisynthRepository"
:: directory to a location of your choice (avoid "Program Files" or "Program Files (x86)")
:: and create a shortcut to the "setavs.cmd" batch file in the root of "AvisynthRepository".
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: remove the "%~dp0" and use a fully qualified path to the source directory.
:: Example: "set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository"
set AVS_SRC_DIR=%~dp0
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=
set PLUGDIR64=
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=
set PLUGDIR64PLUS=
:: **IMPORTANT:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
:: ########################### End Configuration ##########################
if "%AVS_SRC_DIR%" == "" (
echo.
echo The source directory ^(AVS_SRC_DIR^) is not defined.
echo Please read the instructions above.
echo.
goto :end
)
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
echo.
echo Installed Avisynth version(s):
echo.
if defined winarch (
"%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
) else (
"%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
echo.
"%AVS_SRC_DIR%\Tools\AVSVersion64.exe"
)
echo.
echo.
echo Select the Avisynth version you want to install/uninstall:
echo.
echo 1 = Avisynth 2.5.8
echo 2 = Avisynth 2.6.0
echo 3 = Avisynth 2.6.1 (Alpha)
echo 4 = Avisynth 2.6.0 (SEt's multi-threaded build)
echo.
echo 5 = Avisynth+ 0.1.0 (x86, r2772)
echo 6 = Avisynth+ 0.1.0 (x64, r2772)
echo 7 = Avisynth+ XP 3.7.0 (x86, r3382)
echo 8 = Avisynth+ XP 3.7.0 (x64, r3382)
echo 9 = Avisynth+ 3.7.2 (x86)
echo 10 = Avisynth+ 3.7.2 (x64)
echo.
echo 13 = Uninstall Avisynth x86
echo 14 = Uninstall Avisynth x64
echo.
echo NOTE: 64 bit versions can be installed alongside 32 bit versions.
echo.
echo.
set no=
set /p no= [1-12] (leave blank and [Enter] to exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS258
if %no%==2 set avs=AVS260
if %no%==3 set avs=AVS261_Alpha
if %no%==4 set avs=AVS260_MT
if %no%==5 (set avs=AVSPLUS010_x86) & set avspl=true
if %no%==6 (set avs=AVSPLUS010_x64) & set avspl=true
if %no%==7 (set avs=AVSPLUS370_x86_XP) & set avspl=true
if %no%==8 (set avs=AVSPLUS370_x64_XP) & set avspl=true
if %no%==9 (set avs=AVSPLUS372_x86) & set avspl=true
if %no%==10 (set avs=AVSPLUS372_x64) & set avspl=true
if %no%==13 (set avs=AVSx86) & goto :uninstall
if %no%==14 (set avs=AVSx64) & goto :uninstall
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
if %avs%==AVSPLUS010_x64 set x64=true
if %avs%==AVSPLUS370_x64 set x64=true
if %avs%==AVSPLUS370_x64_XP set x64=true
if %avs%==AVSPLUS372_x64 set x64=true
:install
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
if "%PLUGDIR32%" == "" (
set REGPLUGDIR32=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32=%PLUGDIR32%
)
if "%PLUGDIR64%" == "" (
set REGPLUGDIR64=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64=%PLUGDIR64%
)
if "%PLUGDIR32PLUS%" == "" (
set REGPLUGDIR32PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32PLUS=%PLUGDIR32PLUS%
)
if "%PLUGDIR64PLUS%" == "" (
set REGPLUGDIR64PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64PLUS=%PLUGDIR64PLUS%
)
:: Remove trailing backslash if present
if "%REGPLUGDIR32PLUS:~-1%"=="" SET REGPLUGDIR32PLUS=%REGPLUGDIR32PLUS:~0,-1%
if "%REGPLUGDIR64PLUS:~-1%"=="" SET REGPLUGDIR64PLUS=%REGPLUGDIR64PLUS:~0,-1%
if "%REGPLUGDIR32:~-1%"=="" SET REGPLUGDIR32=%REGPLUGDIR32:~0,-1%
if "%REGPLUGDIR64:~-1%"=="" SET REGPLUGDIR64=%REGPLUGDIR64:~0,-1%
echo Installing %avs%...
echo.
if defined winarch (
echo setup for 32bit windows system...
echo.
if defined x64 ( echo Attempt to install x64 AVS on x32 Windows.
goto :cancel )
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo setup for 64bit windows system...
echo.
if defined x64 (
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR64PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo copying %avs% files to "%WINDIR%\SysWow64"...
echo copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\SysWow64"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\SysWow64"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWow64
)
)
goto :end
:regWin
echo.
echo adding more registry entries...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f
goto :eof
:regWow64
echo.
echo adding more registry entries (wow64 mode)...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f
goto :eof
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
echo.
if defined winarch (
if /i %avs%==AVSx64 ( echo Attempt to remove x64 AVS from x32 Windows.
goto :cancel )
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\avisynth.dll"
del "%WINDIR%\System32\devil.dll"
call :unregWin all
) else (
if /i %avs%==AVSx64 (
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\devil.dll"
del "%WINDIR%\System32\avisynth.dll"
if exist "%WINDIR%\SysWow64\avisynth.dll" (call :unregWin) else (
call :unregWin all )
) else (
echo removing %avs% files from "%WINDIR%\SysWow64"...
del "%WINDIR%\SysWow64\avisynth.dll"
del "%WINDIR%\SysWow64\devil.dll"
if exist "%WINDIR%\System32\avisynth.dll" (call :unregWow64) else (
call :unregWow64 all )
)
)
goto :end
:unregWin
echo.
echo removing registry entries...
reg delete "HKLM\SOFTWARE\Avisynth" /f
reg delete "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregWow64
echo.
echo removing registry entries (wow64 mode)...
reg delete "HKLM\SOFTWARE\Wow6432Node\Avisynth" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregAll
echo.
echo removing more avs registry entries...
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f
reg delete "HKLM\SOFTWARE\Classes\.avs" /f
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f
goto :eof
:noAdmin
echo This batch file must run with elevated privileges, so:
echo.
echo Right click on it and chose "Run as administrator"
goto :end
:error
echo.
echo something went wrong...
echo.
:cancel
echo.
echo cancelled...
echo.
:end
endlocal
echo.
pause
StainlessS
10th February 2022, 08:40
Nice EM.
LigH
2nd March 2023, 21:07
Hey Groucho, still alive? I tried to recommend this tool to someone but he complained that it is outdated...
kedautinh12
2nd March 2023, 21:08
I'm still using normally in win 11
LigH
3rd March 2023, 14:31
But the AviSynth+ versions shipped with it are not quite the current releases anymore.
Emulgator
4th March 2023, 14:17
No need to wake up Groucho2004, BTW, everyone can make/update his pack easily.
All the magic is in the setavs.cmd
Who is able to modify that file can modify folder names and how many AviSynth installations he wants to switch.
You can have as many AviSynth installations as you like, each with its desired AviSynth version.
Get the last UniversalAviSynthInstaller_20210119, unpack.
Each of these folders can be modified to your heart's content.
I have 4 Repos A,B,C,D which have 8..12 versions each.
Each root folder lets you swap any desired AviSynth/DevIL version in.
Each installation root contains avisynth.dll and devil.dll
Each plugins folder can be modified by adding/removing your desired plugins.
The script only executes the regkey which installs those .dlls to system32/SysWOW64 and links the appropriate plugin folder to path.
So it is easy to decide for DIY-updating.
Freedom is at your hands and who is able to use some nifty AutoRepo
(ChaosKing did for AVS and VS)
can have some of those folders auto-updated as well.
VoodooFX
4th March 2023, 20:51
Looks like Groucho2004 not coming back, here it's updated to AvS v3.7.2: https://github.com/Purfview/Universal-Avisynth-Installer
Reel.Deel
4th March 2023, 20:54
Looks like Groucho2004 not cumming back, here it's updated to AvS v3.7.2: https://github.com/Purfview/Universal-Avisynth-Installer
Dead link.
edit: yep, works now :)
VoodooFX
4th March 2023, 20:57
Dead link.
Oh, it was private. Try now.
Emulgator
18th July 2023, 09:05
And a more recent batch script for 3.7.3 test 11
::Batch script for fast switching of Avisynth versions
::Initial idea and work by Groucho2004
::Modified by jones1913
::Modified and extended by Groucho2004
::Updated for AVSPLUS373 folders by Emulgator
@echo off
cls
setlocal
:Check administrative privileges
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
:: ########################## Start Configuration #########################
:: The variable "AVS_SRC_DIR" must be set according to the location of
:: this batch file.
:: The simplest way to have this up and running is to copy the "AvisynthRepository"
:: directory to a location of your choice (avoid "Program Files" or "Program Files (x86)")
:: and create a shortcut to the "setavs.cmd" batch file in the root of "AvisynthRepository".
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: remove the "%~dp0" and use a fully qualified path to the source directory.
:: Example: "set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository"
set AVS_SRC_DIR=%~dp0
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=
set PLUGDIR64=
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=
set PLUGDIR64PLUS=
:: **IMPORTANT:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
:: ########################### End Configuration ##########################
if "%AVS_SRC_DIR%" == "" (
echo.
echo The source directory ^(AVS_SRC_DIR^) is not defined.
echo Please read the instructions above.
echo.
goto :end
)
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="\" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
echo.
echo Installed Avisynth version(s):
echo.
if defined winarch (
"%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
) else (
"%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
echo.
"%AVS_SRC_DIR%\Tools\AVSVersion64.exe"
)
echo.
echo.
echo Select the Avisynth version you want to install/uninstall:
echo.
echo 1 = Avisynth 32 2.5.8
echo 2 = Avisynth 32 2.6.0
echo 3 = Avisynth 32 2.6.1 (Alpha)
echo 4 = Avisynth 32 2.6.0 MT (SEt)
echo.
echo 5 = Avisynth+ 32 0.1.0 (r2772)
echo 6 = Avisynth+ 64 0.1.0 (r2772)
echo 7 = Avisynth+ XP32 3.7.3 test 11 (r3996)
echo 8 = Avisynth+ XP64 3.7.3 test 11 (r3996)
echo 9 = Avisynth+ 32 3.7.3 test 11 (r3996)
echo 10 = Avisynth+ 64 3.7.3 test 11 (r3996)
echo.
echo 13 = Uninstall Avisynth x86
echo 14 = Uninstall Avisynth x64
echo.
echo NOTE: 64 bit versions can be installed alongside 32 bit versions.
echo.
echo.
set no=
set /p no= [1-12] (leave blank and [Enter] to exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS258
if %no%==2 set avs=AVS260
if %no%==3 set avs=AVS261_Alpha
if %no%==4 set avs=AVS260_MT
if %no%==5 (set avs=AVSPLUS010_x86) & set avspl=true
if %no%==6 (set avs=AVSPLUS010_x64) & set avspl=true
if %no%==7 (set avs=AVSPLUS370_x86_XP) & set avspl=true
if %no%==8 (set avs=AVSPLUS370_x64_XP) & set avspl=true
if %no%==9 (set avs=AVSPLUS373_x86) & set avspl=true
if %no%==10 (set avs=AVSPLUS373_x64) & set avspl=true
if %no%==13 (set avs=AVSx86) & goto :uninstall
if %no%==14 (set avs=AVSx64) & goto :uninstall
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
if %avs%==AVSPLUS010_x64 set x64=true
if %avs%==AVSPLUS370_x64 set x64=true
if %avs%==AVSPLUS370_x64_XP set x64=true
if %avs%==AVSPLUS373_x64 set x64=true
:install
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="\" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
if "%PLUGDIR32%" == "" (
set REGPLUGDIR32=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32=%PLUGDIR32%
)
if "%PLUGDIR64%" == "" (
set REGPLUGDIR64=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64=%PLUGDIR64%
)
if "%PLUGDIR32PLUS%" == "" (
set REGPLUGDIR32PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32PLUS=%PLUGDIR32PLUS%
)
if "%PLUGDIR64PLUS%" == "" (
set REGPLUGDIR64PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64PLUS=%PLUGDIR64PLUS%
)
:: Remove trailing backslash if present
if "%REGPLUGDIR32PLUS:~-1%"=="\" SET REGPLUGDIR32PLUS=%REGPLUGDIR32PLUS:~0,-1%
if "%REGPLUGDIR64PLUS:~-1%"=="\" SET REGPLUGDIR64PLUS=%REGPLUGDIR64PLUS:~0,-1%
if "%REGPLUGDIR32:~-1%"=="\" SET REGPLUGDIR32=%REGPLUGDIR32:~0,-1%
if "%REGPLUGDIR64:~-1%"=="\" SET REGPLUGDIR64=%REGPLUGDIR64:~0,-1%
echo Installing %avs%...
echo.
if defined winarch (
echo setup for 32bit windows system...
echo.
if defined x64 ( echo Attempt to install x64 AVS on x32 Windows.
goto :cancel )
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo setup for 64bit windows system...
echo.
if defined x64 (
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR64PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo copying %avs% files to "%WINDIR%\SysWow64"...
echo copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\SysWow64"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\SysWow64"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWow64
)
)
goto :end
:regWin
echo.
echo adding more registry entries...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f
goto :eof
:regWow64
echo.
echo adding more registry entries (wow64 mode)...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f
goto :eof
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
echo.
if defined winarch (
if /i %avs%==AVSx64 ( echo Attempt to remove x64 AVS from x32 Windows.
goto :cancel )
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\avisynth.dll"
del "%WINDIR%\System32\devil.dll"
call :unregWin all
) else (
if /i %avs%==AVSx64 (
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\devil.dll"
del "%WINDIR%\System32\avisynth.dll"
if exist "%WINDIR%\SysWow64\avisynth.dll" (call :unregWin) else (
call :unregWin all )
) else (
echo removing %avs% files from "%WINDIR%\SysWow64"...
del "%WINDIR%\SysWow64\avisynth.dll"
del "%WINDIR%\SysWow64\devil.dll"
if exist "%WINDIR%\System32\avisynth.dll" (call :unregWow64) else (
call :unregWow64 all )
)
)
goto :end
:unregWin
echo.
echo removing registry entries...
reg delete "HKLM\SOFTWARE\Avisynth" /f
reg delete "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregWow64
echo.
echo removing registry entries (wow64 mode)...
reg delete "HKLM\SOFTWARE\Wow6432Node\Avisynth" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregAll
echo.
echo removing more avs registry entries...
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f
reg delete "HKLM\SOFTWARE\Classes\.avs" /f
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f
goto :eof
:noAdmin
echo This batch file must run with elevated privileges, so:
echo.
echo Right click on it and chose "Run as administrator"
goto :end
:error
echo.
echo something went wrong...
echo.
:cancel
echo.
echo cancelled...
echo.
:end
endlocal
echo.
pause
tebasuna51
18th July 2023, 09:21
And a more recent batch script for 3.7.3 test 11
Thanks, but now is Avs+ 3.7.3 r4003 (https://github.com/AviSynth/AviSynthPlus/releases/tag/v3.7.3)
Emulgator
18th July 2023, 09:45
You're welcome.
::Batch script for fast switching of Avisynth versions
::Initial idea and work by Groucho2004
::Modified by jones1913
::Modified and extended by Groucho2004
::Updated for AVSPLUS373 folders by Emulgator
@echo off
cls
setlocal
:Check administrative privileges
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
:: ########################## Start Configuration #########################
:: The variable "AVS_SRC_DIR" must be set according to the location of
:: this batch file.
:: The simplest way to have this up and running is to copy the "AvisynthRepository"
:: directory to a location of your choice (avoid "Program Files" or "Program Files (x86)")
:: and create a shortcut to the "setavs.cmd" batch file in the root of "AvisynthRepository".
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: remove the "%~dp0" and use a fully qualified path to the source directory.
:: Example: "set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository"
set AVS_SRC_DIR=%~dp0
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=
set PLUGDIR64=
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=
set PLUGDIR64PLUS=
:: **IMPORTANT:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
:: ########################### End Configuration ##########################
if "%AVS_SRC_DIR%" == "" (
echo.
echo The source directory ^(AVS_SRC_DIR^) is not defined.
echo Please read the instructions above.
echo.
goto :end
)
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="\" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
echo.
echo Installed Avisynth version(s):
echo.
if defined winarch (
"%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
) else (
"%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
echo.
"%AVS_SRC_DIR%\Tools\AVSVersion64.exe"
)
echo.
echo.
echo Select the Avisynth version you want to install/uninstall:
echo.
echo 1 = Avisynth 32 2.5.8
echo 2 = Avisynth 32 2.6.0
echo 3 = Avisynth 32 2.6.1 (Alpha)
echo 4 = Avisynth 32 2.6.0 MT (SEt)
echo.
echo 5 = Avisynth+ 32 0.1.0 (r2772)
echo 6 = Avisynth+ 64 0.1.0 (r2772)
echo 7 = Avisynth+ XP32 3.7.3 (r4003)
echo 8 = Avisynth+ XP64 3.7.3 (r4003)
echo 9 = Avisynth+ 32 3.7.3 (r4003)
echo 10 = Avisynth+ 64 3.7.3 (r4003)
echo.
echo 13 = Uninstall Avisynth x86
echo 14 = Uninstall Avisynth x64
echo.
echo NOTE: 64 bit versions can be installed alongside 32 bit versions.
echo.
echo.
set no=
set /p no= [1-12] (leave blank and [Enter] to exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS258
if %no%==2 set avs=AVS260
if %no%==3 set avs=AVS261_Alpha
if %no%==4 set avs=AVS260_MT
if %no%==5 (set avs=AVSPLUS010_x86) & set avspl=true
if %no%==6 (set avs=AVSPLUS010_x64) & set avspl=true
if %no%==7 (set avs=AVSPLUS370_x86_XP) & set avspl=true
if %no%==8 (set avs=AVSPLUS370_x64_XP) & set avspl=true
if %no%==9 (set avs=AVSPLUS373_x86) & set avspl=true
if %no%==10 (set avs=AVSPLUS373_x64) & set avspl=true
if %no%==13 (set avs=AVSx86) & goto :uninstall
if %no%==14 (set avs=AVSx64) & goto :uninstall
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
if %avs%==AVSPLUS010_x64 set x64=true
if %avs%==AVSPLUS370_x64 set x64=true
if %avs%==AVSPLUS370_x64_XP set x64=true
if %avs%==AVSPLUS373_x64 set x64=true
:install
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="\" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
if "%PLUGDIR32%" == "" (
set REGPLUGDIR32=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32=%PLUGDIR32%
)
if "%PLUGDIR64%" == "" (
set REGPLUGDIR64=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64=%PLUGDIR64%
)
if "%PLUGDIR32PLUS%" == "" (
set REGPLUGDIR32PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32PLUS=%PLUGDIR32PLUS%
)
if "%PLUGDIR64PLUS%" == "" (
set REGPLUGDIR64PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64PLUS=%PLUGDIR64PLUS%
)
:: Remove trailing backslash if present
if "%REGPLUGDIR32PLUS:~-1%"=="\" SET REGPLUGDIR32PLUS=%REGPLUGDIR32PLUS:~0,-1%
if "%REGPLUGDIR64PLUS:~-1%"=="\" SET REGPLUGDIR64PLUS=%REGPLUGDIR64PLUS:~0,-1%
if "%REGPLUGDIR32:~-1%"=="\" SET REGPLUGDIR32=%REGPLUGDIR32:~0,-1%
if "%REGPLUGDIR64:~-1%"=="\" SET REGPLUGDIR64=%REGPLUGDIR64:~0,-1%
echo Installing %avs%...
echo.
if defined winarch (
echo setup for 32bit windows system...
echo.
if defined x64 ( echo Attempt to install x64 AVS on x32 Windows.
goto :cancel )
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo setup for 64bit windows system...
echo.
if defined x64 (
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR64PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo copying %avs% files to "%WINDIR%\SysWow64"...
echo copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\SysWow64"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\SysWow64"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWow64
)
)
goto :end
:regWin
echo.
echo adding more registry entries...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f
goto :eof
:regWow64
echo.
echo adding more registry entries (wow64 mode)...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f
goto :eof
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
echo.
if defined winarch (
if /i %avs%==AVSx64 ( echo Attempt to remove x64 AVS from x32 Windows.
goto :cancel )
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\avisynth.dll"
del "%WINDIR%\System32\devil.dll"
call :unregWin all
) else (
if /i %avs%==AVSx64 (
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\devil.dll"
del "%WINDIR%\System32\avisynth.dll"
if exist "%WINDIR%\SysWow64\avisynth.dll" (call :unregWin) else (
call :unregWin all )
) else (
echo removing %avs% files from "%WINDIR%\SysWow64"...
del "%WINDIR%\SysWow64\avisynth.dll"
del "%WINDIR%\SysWow64\devil.dll"
if exist "%WINDIR%\System32\avisynth.dll" (call :unregWow64) else (
call :unregWow64 all )
)
)
goto :end
:unregWin
echo.
echo removing registry entries...
reg delete "HKLM\SOFTWARE\Avisynth" /f
reg delete "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregWow64
echo.
echo removing registry entries (wow64 mode)...
reg delete "HKLM\SOFTWARE\Wow6432Node\Avisynth" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregAll
echo.
echo removing more avs registry entries...
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f
reg delete "HKLM\SOFTWARE\Classes\.avs" /f
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f
goto :eof
:noAdmin
echo This batch file must run with elevated privileges, so:
echo.
echo Right click on it and chose "Run as administrator"
goto :end
:error
echo.
echo something went wrong...
echo.
:cancel
echo.
echo cancelled...
echo.
:end
endlocal
echo.
pause
StainlessS
18th July 2023, 14:03
Cheers Em.
LouieChuckyMerry
28th April 2024, 21:20
Emulgator: Thank you for this :) .
tebasuna51
25th March 2025, 14:13
New AviSynth+ 3.7.4 version, now without DevIL.dll.
The Universal Avisynth Installer delete that file from system folder when Uninstall or replace it with a new provided en new version (error if not exist).
Seems the Universal Avisynth Installer need a new version now.
Emulgator
26th March 2025, 11:48
::Batch script for fast switching of Avisynth versions
::Initial idea and work by Groucho2004
::Modified by jones1913
::Modified and extended by Groucho2004
::Updated for AVSPLUS373 folders by Emulgator 2022
::Updated for OS/CPU-specific installations, no more AviSynthPlus version-specific, by Emulgator 2023/2025
@echo off
cls
setlocal
:Check administrative privileges
fsutil dirty query %systemdrive% > nul
if errorlevel 1 goto :noAdmin
:: # Start Configuration #
:: The variable "AVS_SRC_DIR" must be set according to the location of
:: this batch file.
:: The simplest way to have this up and running is to copy the "AvisynthRepository"
:: directory to a location of your choice (avoid "Program Files" or "Program Files (x86)")
:: and create a shortcut to the "setavs.cmd" batch file in the root of "AvisynthRepository".
:: If you want to run the batch file from a different directory
:: (i.e. a directory to which the "PATH" environment variable points),
:: remove the "%~dp0" and use a fully qualified path to the source directory.
:: Example: "set AVS_SRC_DIR=E:\VideoTools\AvisynthRepository"
set AVS_SRC_DIR=%~dp0
:: Default plugin directories
:: If you leave them blank, the respective "plugin" directories within
:: the "AvisynthRepository" source directories will be used.
set PLUGDIR32=
set PLUGDIR64=
:: Additional plugin directories (works only with Avisynth+)
:: If you leave them blank, only the default plugin directories (see above)
:: will be used.
set PLUGDIR32PLUS=
set PLUGDIR64PLUS=
:: **IMPORTANT:
:: If you have customized any of the above directories and their names contain
:: special characters such as '&', '(' or ')', enclose the variable and path
:: in double quotes and use the escape character '^' before the special character(s).
::
:: Example 1:
:: set "AVS_SRC_DIR=C:\Program Files ^(x86^)\Avisynth"
::
:: Example 2:
:: set "PLUGDIR32=C:\Program Files ^(x86^)\Avisynth\Plugins ^& avsi"
::
:: Emulgator 26.03.2025: As time progresses it becomes necessary to match different compiles to the available hardware.
:: I found the idea of having a portable set of 8 switchable installations matching my 2001..2025 hardware environments sufficient.
:: For the ones preferring manual interaction I suggest to make a AviSynth Repository folder.
:: Mine is C:\_PROG\! Video Tools\ Copy this script into its root.
:: Make a folder Tools into root. It contains AVSVersion32.exe and AVSVersion64.exe
:: Make 8 Avisynth folders inside that Repository folder:
:: AVS258, AVS260_MT, AVSPLUS_x64_W7, AVSPLUS_x64_W10, AVSPLUS_x64_XP, AVSPLUS_x86_W7, AVSPLUS_x86_W10, AVSPLUS_x86_XP
:: In root of every of these 8 folders place your obtained matching versions of AviSynth.dll, DevIL.dll
:: In every of these 8 folders make a folder \plugins. Fill each plugin folder manually with known to be working plugins and .avsi scripts
::
:: An Instruction sets overview:
:: MMX: Pentium MMX (08.01.1997) // SSE: Pentium III Katmai, Coppermine, Tualatin (28.02.1999)
:: SSE2: Pentium 4 (20.11.2000)
:: SSE3: Pentium 4 from Prescott, Celeron D, Celeron Core, Pentium Core, NOT Pentium 4 Extreme (01.02.2004)
:: SSSE3: Core2, Xeon5100 (27.06.2006)
:: SSE4.1: Core2/45nm Wolfdale, Kentsfield, Yorkfield, NOT Merom (xx.01.2008)
:: SSE4.2: Nehalem -> Desktop Bloomfield/Lynnfield i7-920..i7-975; Mobile Clarksfield i7-720QM/740QM/820QM/840QM,920XM/940XM (xx.11.2008)
:: AVX: Sandy Bridge/Bulldozer -> Desktop i3-2100..i7-3970X; Server Xeon 1260-4650; Mobile i7-2720QM..2960XM (09.11.2011)
:: AVX2: Haswell/Excavator -> Desktop Haswell i3-4130..Broadwell i7-5960X; Server Xeon 1220Lv3-E7 8893; Mobile i3-4000M..i7-4940MX (04.06.2013)
:: AVX512: Skylake/Zen4 -> Desktop Tiger Lake i5-11260..Rocket Lake-S i9-11900; Server Cascade Lake (Socket 3647).. (05.08.2015)
:: ..Xeon X-22xx, W-32xx, Bronze 32xx, Silver 42xx, Gold 52xx, Gold 62xx, Phi 72xx, Platinum 82xx; Mobile: i5-11300H..11390H
:: # End Configuration #
if "%AVS_SRC_DIR%" == "" (
echo.
echo The source directory ^(AVS_SRC_DIR^) is not defined.
echo Please read the instructions above.
echo.
goto :end
)
if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set winarch=x32
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
echo Avisynth "systemwide installs" reported at this moment by \Tools\AVSVersion32.exe and \AVSVersion64.exe:
echo.
if defined winarch ("%AVS_SRC_DIR%\Tools\AVSVersion32.exe") else ("%AVS_SRC_DIR%\Tools\AVSVersion32.exe"
echo.
"%AVS_SRC_DIR%\Tools\AVSVersion64.exe")
echo.
echo.
echo Your input 1..8 will install your choice of Avisynth.dll, DevIL.dll and accompanying plugins folder as systemwide.
echo Installing just copies AviSynth.dll and DevIL.dll from your folders to system32/SYSWOW64 and registers AviSynth.dll.
echo.
echo Your input 9..10 will uninstall (unregister AviSynth.dll and delete AviSynth.dll, DevIL.dll from system32/SYSWOW64).
echo.
echo (On Windows 64-bit systems you may choose to install a 32-bit plus a 64-bit AviSynth side-by-side.
echo The 32/64-bitness of the calling application will call the appropriate 32/64-bit AviSynth chain.)
echo.
echo 1 = Avisynth 2.5.8 XP/32-SSE2
echo 2 = Avisynth 2.6.0 XP/32-SSE2 MT (SEt)
echo.
echo 3 = Avisynth+ XP/32-SSE2
echo 4 = Avisynth+ XP/64-SSE2
echo 5 = Avisynth+ W7/32-AVX
echo 6 = Avisynth+ W7/64-AVX
echo 7 = Avisynth+ W10/32-AVX2
echo 8 = Avisynth+ W10/64-AVX2
echo.
echo 9 = Uninstall Avisynth x86
echo 10 = Uninstall Avisynth x64
echo.
echo.
set no=
set /p no= Input [1-10] (or leave blank and [Enter] to exit):
if [%no%]==[] goto :cancel
if %no%==1 set avs=AVS258
if %no%==2 set avs=AVS260_MT
if %no%==3 (set avs=AVSPLUS_x86_XP) & set avspl=true
if %no%==4 (set avs=AVSPLUS_x64_XP) & set avspl=true
if %no%==5 (set avs=AVSPLUS_x86_W7) & set avspl=true
if %no%==6 (set avs=AVSPLUS_x64_W7) & set avspl=true
if %no%==7 (set avs=AVSPLUS_x86_W10) & set avspl=true
if %no%==8 (set avs=AVSPLUS_x64_W10) & set avspl=true
if %no%==9 (set avs=AVSx86) & goto :uninstall
if %no%==10 (set avs=AVSx64) & goto :uninstall
echo.
if [%avs%]==[] (echo Invalid input...
goto :menu)
if %avs%==AVSPLUS_x64_XP set x64=true
if %avs%==AVSPLUS_x64_W7 set x64=true
if %avs%==AVSPLUS_x64_W10 set x64=true
:install
:: Remove trailing backslash if present
if "%AVS_SRC_DIR:~-1%"=="" SET AVS_SRC_DIR=%AVS_SRC_DIR:~0,-1%
if "%PLUGDIR32%" == "" (
set REGPLUGDIR32=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32=%PLUGDIR32%
)
if "%PLUGDIR64%" == "" (
set REGPLUGDIR64=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64=%PLUGDIR64%
)
if "%PLUGDIR32PLUS%" == "" (
set REGPLUGDIR32PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR32PLUS=%PLUGDIR32PLUS%
)
if "%PLUGDIR64PLUS%" == "" (
set REGPLUGDIR64PLUS=%AVS_SRC_DIR%\%avs%\plugins
) else (
set REGPLUGDIR64PLUS=%PLUGDIR64PLUS%
)
:: Remove trailing backslash if present
if "%REGPLUGDIR32PLUS:~-1%"=="" SET REGPLUGDIR32PLUS=%REGPLUGDIR32PLUS:~0,-1%
if "%REGPLUGDIR64PLUS:~-1%"=="" SET REGPLUGDIR64PLUS=%REGPLUGDIR64PLUS:~0,-1%
if "%REGPLUGDIR32:~-1%"=="" SET REGPLUGDIR32=%REGPLUGDIR32:~0,-1%
if "%REGPLUGDIR64:~-1%"=="" SET REGPLUGDIR64=%REGPLUGDIR64:~0,-1%
echo Installing %avs%...
echo.
if defined winarch (
echo setup for 32bit windows system...
echo.
if defined x64 ( echo Attempt to install x64 AVS on x32 Windows.
goto :cancel )
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
if exist "%AVS_SRC_DIR%\%avs%\devil.dll" copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo setup for 64bit windows system...
echo.
if defined x64 (
echo copying %avs% files to "%WINDIR%\System32"...
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\System32"
if exist "%AVS_SRC_DIR%\%avs%\devil.dll" copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\System32"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\System32"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR64%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR64PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%"
reg add "HKLM\SOFTWARE\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR64PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWin
) else (
echo copying %avs% files to "%WINDIR%\SysWow64"...
echo copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
copy /y "%AVS_SRC_DIR%\%avs%\avisynth.dll" "%WINDIR%\SysWow64"
if exist "%AVS_SRC_DIR%\%avs%\devil.dll" copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\SysWow64"
if errorlevel 1 ( echo Failed to copy files to "%WINDIR%\SysWow64"
goto :error )
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "" /d "%AVS_SRC_DIR%\%avs%" /f
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir2_5" /d "%REGPLUGDIR32%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
if "%REGPLUGDIR32PLUS%" GTR "" (
echo.
echo Writing "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%"
reg add "HKLM\SOFTWARE\Wow6432Node\Avisynth" /v "PluginDir+" /d "%REGPLUGDIR32PLUS%" /f
if errorlevel 1 ( echo Error on importing registry keys!
goto :error )
)
call :regWow64
)
)
goto :end
:regWin
echo.
echo adding more registry entries...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\System32\AviSynth.dll,0" /f
goto :eof
:regWow64
echo.
echo adding more registry entries (wow64 mode)...
reg add "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /ve /d "{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /ve /d "AviSynth" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /ve /d "AviSynth.dll" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" /v "ThreadingModel" /d "Apartment" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /v "Source Filter" /d "{D3588AB0-0781-11CE-B03A-0020AF0BA770}" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avs" /ve /d "avsfile" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\.avsi" /ve /d "avs_auto_file" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile" /ve /d "AviSynth Script" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avsfile\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f >nul 2>&1
reg add "HKLM\SOFTWARE\Classes\avs_auto_file" /ve /d "AviSynth Autoload Script" /f >nul 2>&1
if defined avspl (reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,1" /f
) else reg add "HKLM\SOFTWARE\Classes\avs_auto_file\DefaultIcon" /ve /d "%WINDIR%\SysWow64\AviSynth.dll,0" /f
goto :eof
:uninstall
echo.
echo Remove %avs% .dll and registry entries from this system?
set /p rm=[y/n]:
if /i not [%rm%]==[y] goto :cancel
echo.
if defined winarch (
if /i %avs%==AVSx64 ( echo Attempt to remove x64 AVS from x32 Windows.
goto :cancel )
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\avisynth.dll"
del "%WINDIR%\System32\devil.dll"
call :unregWin all
) else (
if /i %avs%==AVSx64 (
echo removing %avs% files from "%WINDIR%\System32"...
del "%WINDIR%\System32\devil.dll"
del "%WINDIR%\System32\avisynth.dll"
if exist "%WINDIR%\SysWow64\avisynth.dll" (call :unregWin) else (
call :unregWin all )
) else (
echo removing %avs% files from "%WINDIR%\SysWow64"...
del "%WINDIR%\SysWow64\avisynth.dll"
del "%WINDIR%\SysWow64\devil.dll"
if exist "%WINDIR%\System32\avisynth.dll" (call :unregWow64) else (
call :unregWow64 all )
)
)
goto :end
:unregWin
echo.
echo removing registry entries...
reg delete "HKLM\SOFTWARE\Avisynth" /f
reg delete "HKLM\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregWow64
echo.
echo removing registry entries (wow64 mode)...
reg delete "HKLM\SOFTWARE\Wow6432Node\Avisynth" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Classes\Media Type\Extensions\.avs" /f
if [%1]==[all] call :unregAll
goto :eof
:unregAll
echo.
echo removing more avs registry entries...
reg delete "HKLM\SOFTWARE\Classes\AVIFile\Extensions\AVS" /f
reg delete "HKLM\SOFTWARE\Classes\.avs" /f
reg delete "HKLM\SOFTWARE\Classes\.avsi" /f
reg delete "HKLM\SOFTWARE\Classes\avsfile" /f
reg delete "HKLM\SOFTWARE\Classes\avs_auto_file" /f
goto :eof
:noAdmin
echo This batch file must run with elevated privileges, so:
echo.
echo Right click on it and chose "Run as administrator"
goto :end
:error
echo.
echo something went wrong...
echo.
:cancel
echo.
echo cancelled...
echo.
:end
endlocal
echo.
pause
tebasuna51
28th March 2025, 08:40
Please replace lines like:
copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\..."
with:
if exist "%AVS_SRC_DIR%\%avs%\devil.dll" copy /y "%AVS_SRC_DIR%\%avs%\devil.dll" "%WINDIR%\..."
because the last stable Avs+ 3.7.4 (x86 and x64) don't have the devil.dll file, it is included in the ImageSeq.dll (https://forum.doom9.org/showthread.php?p=2016911#post2016911)and the next error crash the installation.
I make for me another customized 0_setavs.bat (for a fix PC W10 AVX2) to test AviSynth+ versions (standar, icx, intelLLVM, Clang, test versions...). I attach it, maybe can help someone:
EDIT: Included in my next post
Emulgator
28th March 2025, 15:20
You are most welcome, I have these DevIL lines replaced as you suggested.
The previous version worked here because I put "those little devils" manually where my script expects them: besides AviSynth.dll
Untested, because all my systems are tasked to the full, please report if faulty.
tebasuna51
30th March 2025, 12:46
I test my 0_setavs.bat without problems.
When uninstall a version without devil.dll in system folder show a message 'not found' but finish ok, no problem.
To explain how use the Installer and other Groucho tools (AVSInfo and AVSMeter) maybe you can read the 0_README.txt in attached file:
[EDIT] The previous readme have spanish garbage and only use AVSMeter (instead AVSInfo with graphic interface)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.