View Full Version : avisynth Distribution, what's required
Starduster
5th October 2007, 00:59
Still very new at this...
Can someone tell me (or direct me to the proper location) what is necessary to distribute avisynth in a Windows environment?
I'd like to install this on some of our computers but don't want to ask everyone to go though the general installation procedure. Is there a way to install quietly or to just copy and register the various .dll's (whatever they might be)?
Thanks for any direction on this,
Steve
foxyshadis
5th October 2007, 02:15
Avisynth uses nsis, so /S will give you a silent install. (Just tested.)
Starduster
5th October 2007, 04:05
Ah, so just download the avisynth.exe and run with the /s option. Well, since I'm not using any of the plug-ins, I was hoping for just a download of the minimum .dll's (to avoid the 2.7mb download) but at least there is a good option.
Thanks very much for the reply, greatly appreciated.
Steve
Dark Shikari
5th October 2007, 04:08
Ah, so just download the avisynth.exe and run with the /s option. Well, since I'm not using any of the plug-ins, I was hoping for just a download of the minimum .dll's (to avoid the 2.7mb download) but at least there is a good option.
Thanks very much for the reply, greatly appreciated.
SteveAvisynth doesn't come with any of the plugins except the core filters, which are in the main DLL I think... so the 2.7MB is pretty much required. A lot of it is docs, IIRC.
squid_80
5th October 2007, 12:19
It comes with directshowsource and tcpdeliver, they're about 134kb.
Starduster
5th October 2007, 13:09
Yeah, it's components like the docs and IIRC that I don't need to send. It's for just one use of avisynth in one application, just to preview a video with information overlayed on it.
I'm wondering, if it's just avisynth.dll, directshowsource.dll, and tcpdeliver.dll, why not just throw them in system32, register them, make the two changes in the registry, and call it done?
Steve
neuron2
5th October 2007, 15:08
Don't forget the licensing requirements:
http://forum.doom9.org/showthread.php?t=125721
Starduster
5th October 2007, 16:27
Yes, I had read that thread before the post... it was fun! ;-)
I had the same concerns as skaven65536, "when they will see AviSynth's folders & icons "Oh! AviSynth? WTF? I havent installed it. Maybe I should remove it?".
The use is for internal, clerical folks to try and make their life a little easier. The use of AviSynth is burried inside a single web application that takes data from a database and overlays it on top of a video they are browsing. They won't have a clue about any aspect of AviSynth... and usually don't want any more information than absolutely necessary. ;-)
I can certainly give credit, but they will probably see the reference to AviSynth and think... "Humm, wonder what's for lunch?"
If there's no other way than to do the full install, then that's what we'll do. Foxyshadis pointed out there's a silent install so if we have to put a lot of unused files on everyone's computer, that's better than the way it is now.
foxyshadis
5th October 2007, 21:50
IanB might get mad at me, but here's exactly what avisynth does on install, in NSIS script:
WriteRegStr HKLM "SOFTWARE\AviSynth" "" "$INSTDIR"
WriteRegStr HKLM "SOFTWARE\AviSynth" "plugindir2_5" "$INSTDIR\plugins"
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AviSynth" "DisplayName" "AviSynth 2.5"
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AviSynth" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegStr HKLM "SOFTWARE\Classes\.avs" "" "avsfile"
WriteRegStr HKCR "CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}" "" "AviSynth"
WriteRegStr HKCR "CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" "" "AviSynth.dll"
WriteRegStr HKCR "CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32" "ThreadingModel" "Apartment"
WriteRegStr HKCR "Media Type\Extensions\.avs" "" ""
WriteRegStr HKCR "Media Type\Extensions\.avs" "Source Filter" "{D3588AB0-0781-11CE-B03A-0020AF0BA770}"
WriteRegStr HKCR ".avs" "" "avsfile"
WriteRegStr HKCR ".avsi" "" "avs_auto_file"
WriteRegStr HKCR "avs_auto_file" "" "AviSynth Autoload Script"
WriteRegStr HKCR "avs_auto_file\DefaultIcon" "" "$SYSDIR\AviSynth.dll,0"
WriteRegStr HKCR "avsfile" "" "AviSynth Script"
WriteRegStr HKCR "avsfile\DefaultIcon" "" "$SYSDIR\AviSynth.dll,0"
WriteRegStr HKCR "avifile\Extensions\AVS" "" "{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
Except that the real installer won't change the plugin dir.
You can probably figure out how to convert that to a .reg file or otherwise integrate it into your install mechanism. Then you just need avisynth.dll, the license, and a link to the docs.
Starduster
5th October 2007, 23:35
Well, I'm not telling anyone!... ;-)
I had found an old script via Google that was about 99% there and I was about to go through my registry looking for more. Thanks so much for the post, saved a ton of time.
Unfortunately, all is still not well in Ann Arbor... I've got the avisynth.dll in winnt/system32, and directshowsource.dll and tcpdeliver in c:\avisynth\plugins. When I run the version.avs in WMP 9, I get a "Class not Registered" error.
I'm starting to think your first suggestion is the best course of action. I tested the install with the /S switch and that works... even on Vista Business-POS. It bombs on a two line .avs:
directshowsource("c:\avisynth\examples\sample1.wmv")
Subtitle("test", text_color=$00ff00, x=-1, y=25)
But that may possibly be a topic of another post! ;-)
Here's the results of my converstion to a .reg file with the mods you sent.
Thanks again for all your help!
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="c:\\AviSynth"
"plugindir2_5"="c:\\AviSynth\\plugins"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AviSynth]
"DisplayName"="AviSynth 2.5"
"UninstallString"="c:\\AviSynth\\Uninstall.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\SOFTWARE\Classes\.avs]
@="avsfile"
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\Media Type\Extensions\.avs]
@=""
"Source Filter"="{D3588AB0-0781-11CE-B03A-0020AF0BA770}"
[HKEY_CLASSES_ROOT\.avs]
@="avsfile"
[HKEY_CLASSES_ROOT\.avsi]
@="avs_auto_file"
[HKEY_CLASSES_ROOT\avs_auto_file]
@="AviSynth Autoload Script"
[HKEY_CLASSES_ROOT\avs_auto_file\DefaultIcon]
@="c:\\winnt\\system32\\AviSynth.dll,0"
[HKEY_CLASSES_ROOT\avsfile]
@="AviSynth Script"
[HKEY_CLASSES_ROOT\avsfile\DefaultIcon]
@="c:\\winnt\\system32\\AviSynth.dll,0"
[HKEY_CLASSES_ROOT\avsfile\Extensions\AVS]
@="{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
squid_80
6th October 2007, 02:46
[HKEY_CLASSES_ROOT\avsfile\Extensions\AVS]
@="{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
Wrong.
[HKEY_CLASSES_ROOT\AVIFile\Extensions\AVS]
@="{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
Right.
Starduster
6th October 2007, 05:26
Dude... you're good... Really, really good! ;-) I would have read that a thousand times and not seen it!
However, still the same error. Restored the registry, rebooted, tried the upload of the .reg file again... same eff'in thing, "Class Not registered". Thought I'd try the .reg on another computer. Same error... thinking not my day... maybe should have treated sweet wife much better this morning!? Bad Karma... evil ju-ju... or don't know what I'm doing!...
Too many rums and cokes to muck about with it now, but will definitely re-Ghost boxes and give this a go first thing in the morning... ish...
Anyway, Cheers!... Vielen Dank... and Большое спасибо to the Angel of Death for all your help... I'm not worthy... This is one impressive group of folks!
sr
squid_80
6th October 2007, 09:03
Maybe it needs to go in HKEY_LOCAL_MACHINE\SOFTWARE\Classes instead of HKEY_CLASSES_ROOT. For comparison here's the .inf file I supply with the 64-bit version:Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AVIFile\Extensions\avs]
@="{E6D6B700-124D-11D4-86F3-DB80AFD98778}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="avisynth.dll"
"ThreadingModel"="Apartment"This doesn't set the plugin directory or file associations, but you've got the entries for those already.
Starduster
6th October 2007, 12:47
Bingo! That did it.
I added your entries to the .reg file and immediately got a "cannot find devIL.dll in the path..." Scared the hell out of me! I've always heard "the devil's in the details" but I didn't know s/he needed to be in the path too! ;-)
Anyway, after searching the web to find out what devil.dll was, I copied the .dll from another computer and it worked great. So, I appear to be in great shape.
Thank you all so much for your help. Very much appreciated.
Steve
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.