jaclaz Posted May 26, 2020 Share Posted May 26, 2020 Ok, in the meantime the ETDSimpleUi.exe install and uninstall files. Expand the .zip in the "source" 11.14.4.1 directory together with the drivers files and add the ETDSimpleUI.exe, and right click->install on the ETDSimpleUI.inf. Of course the driver needs to be already installed. Then, to remove, right click->install on the ETDSimpleUI_remove.inf It remains the doubt about these .avi files: Button_SmartPad.avi Clicking_2F.avi Scroll_Reverse_H.avi Scroll_Reverse_V.avi i.e. if they are actually used by ETDsimpleUI.exe or not. jaclaz ETDSimpleUI.zip Link to comment Share on other sites More sharing options...
Dave-H Posted May 26, 2020 Author Share Posted May 26, 2020 Quote Quote 16 hours ago, Dave-H said: The only file I had to add to the folder because it couldn't find it the first time was ETDMcpl.dll, which wasn't originally included. But the file is in the actual "untouched" \tp118w7\{app}\Elantech\11.4.14.1\X86\, right? It was missing in your "frankendriver" folder only because of all the various tests. Yes, that's right. As I said I'm now using the "ETD_new" folder as the source, which came after the "Frankendriver" folder. ETDMcpl.dll wasn't in there for some reason, I think at that time we thought it wasn't needed, but it's there now. Quote Quote 16 hours ago, Dave-H said: One thing I have noticed, which I mentioned in passsing before ages ago, is that the uninstallation routine does not remove ETD.sys from the System32\Drivers folder, and I've since found that it doesn't remove the "ETD" service entry from HKLM\System\CurrentControlSet\Services in the registry either. This appears to be the same with all the drivers I've experimented with, and it would be nice to fix it! Yep, and - additionally - it leaves the \Program Files\Elantech folder untouched AFAICT (and also the .HKLM\System\CurrentControlSet\Control entries ) Actually it does always remove the entire Elantech folder from Program Files on every uninstall, and it removes all the registry entries too, except for the ETD service entry. Apart from the anomalies I mentioned, I've actually always thought that the drivers' uninstall routines were pretty good, some uninstallers leave a huge amount of rubbish behind! Link to comment Share on other sites More sharing options...
jaclaz Posted May 26, 2020 Share Posted May 26, 2020 (edited) On 5/26/2020 at 1:03 PM, Dave-H said: Yes, that's right. As I said I'm now using the "ETD_new" folder as the source, which came after the "Frankendriver" folder. ETDMcpl.dll wasn't in there for some reason, I think at that time we thought it wasn't needed, but it's there now. Good , but for further tests you need to imagine being a "final" user, knowing nothing of this thread and that follows these instructions: 1) get the tp118w7 from https://support.lenovo.com/cz/en/downloads/ds035770 2) use Universal Extractor (or maybe easier use http://innounp.sourceforge.net/ ) to extract the contents, innounp -x tp118w7.exe 3) replace the ETD.inf in the directory \{app}\Elantech\11.4.14.1\X86\ with the new one 4) run the Setup.exe in \{app}\Elantech\11.4.14.1\X86\ Then, optionally, 5) get the Samsung driver 4.9.0.0 from https://www.helpjet.net/Fs-52207751-65343120-34459956.html 6) open it in 7-zip and copy the ETDSimpleUI.exe from \Elan\X86\ to the directory \{app}\Elantech\11.4.14.1\X86\ 7) Add the two ETDSimpleUI .inf files and right click/install the ETDSimpleUI.inf On 5/26/2020 at 1:03 PM, Dave-H said: Actually it does always remove the entire Elantech folder from Program Files on every uninstall, and it removes all the registry entries too, except for the ETD service entry. Apart from the anomalies I mentioned, I've actually always thought that the drivers' uninstall routines were pretty good, some uninstallers leave a huge amount of rubbish behind! This is interesting , as it means that the Uninstaller likely has a number of "internal" settings that are not in the ETD.inf. It has to be seen if it does everything in the actual .inf. Try in the .inf: 1) add: ETDSys.DelFiles = 12 ; Driver directory at the end of: [DestinationDirs] 2) change: DelFiles = No_Files to: DelFiles = ETDSys.DelFiles in: [Uninstall] 3) add: [ETDSys.DelFiles] ETD.sys,,,0x00000001 after: [No_Files] 4) add: HKLM,"SYSTEM\CurrentControlSet\Services\ETD" at the end of: [Uninstall_DelReg] jaclaz Edited May 28, 2020 by jaclaz added .exe in the Innounp command line Link to comment Share on other sites More sharing options...
Dave-H Posted May 27, 2020 Author Share Posted May 27, 2020 Quote Good , but for further tests you need to imagine being a "final" user, knowing nothing of this thread and that follows these instructions: 1) get the tp118w7 from https://support.lenovo.com/cz/en/downloads/ds035770 2) use Universal Extractor (or maybe easier use http://innounp.sourceforge.net/ ) to extract the contents, innounp -x tp118w7 3) replace the ETD.inf in the directory \{app}\Elantech\11.4.14.1\X86\ with the new one 4) run the Setup.exe in \{app}\Elantech\11.4.14.1\X86\ Sorry for the delay again! After completely uninstalling the driver, I'm trying to do the installation as a new user would, just following the steps in your previous post, not using any files already downloaded. I used innounp and that worked fine, although the command as you wrote it (innounp -x tp118w7) doesn't seem to work, it only works if you add ".exe" to the end of it. So I now have the folder with all the 11.4.14.1 files in it, and I've replaced ETD.inf with your most recent version. However, when I run setup.exe, all that happens is that a message pops up saying "The driver version doesn't suit the Touch-Pad. Please check the device in system and install the suitable driver." I don't think I've done anything wrong or missed anything. Was there something else we had to do other than just replace the INF? Link to comment Share on other sites More sharing options...
Dave-H Posted May 27, 2020 Author Share Posted May 27, 2020 OK, I found the problem! Setup.ini needs to have "String28=*ETD0108" added at the end of it, then it works! I guess we'll have to either provide a modified setup.ini or add that to the instructions. Link to comment Share on other sites More sharing options...
RainyShadow Posted May 28, 2020 Share Posted May 28, 2020 6 hours ago, Dave-H said: I guess we'll have to either provide a modified setup.ini or add that to the instructions. If the strings section is the last in that file, you can just echo String28=*ETD0108 >> setup.ini from a .bat file or whatever. Link to comment Share on other sites More sharing options...
jaclaz Posted May 28, 2020 Share Posted May 28, 2020 14 hours ago, Dave-H said: OK, I found the problem! Setup.ini needs to have "String28=*ETD0108" added at the end of it, then it works! I guess we'll have to either provide a modified setup.ini or add that to the instructions. Very good. Yep, that "Lenovo" setup.ini is an "exception" as all the "Asus" ones are *just*: [Setup_Config] CheckHWID=1 ResetPreviousRegistry=1 Whilst the "Samsung" one is: [Setup_Config] CheckHWID=0 CheckMode=1 String1= String2= String3= String4= String5= String6= String7= String8= String9= String10= String11= String12= String13= String14= String15= String16= String17= String18= String19= String20= String21= String22= String23= String24= String25= ResetPreviousRegistry=1 Good catch . Though adding the "String28=*ETD0108" is a nice solution, it would cover only the ETD108, whilst the .inf - in theory - at the moment covers: *ETD0000 *ETD0101 *ETD0102 *ETD0105 *ETD0106 *ETD0107 *ETD0108 *ETD0109 *ETD010A *ETD010B *ETD010C *ETD010E *ETD010F *ETD0111 *ETD0112 *ETD0113 *ETD0114 so, since we have anyway to provide the modded ETD.inf we can add a pre-made simple Setup.ini file either according to the "Asus" philosophy (lousy/loose): [Setup_Config] CheckHWID=1 ResetPreviousRegistry=1 a (lousier/looser) "one size fits all": [Setup_Config] CheckHWID=0 ResetPreviousRegistry=1 or an "exact" one: [Setup_Config] CheckHWID=1 CheckMode=1 ResetPreviousRegistry=1 String1=*ETD0000 String2=*ETD0101 String3=*ETD0102 String4=*ETD0105 String5=*ETD0106 String6=*ETD0107 String7=*ETD0108 String8=*ETD0109 String9=*ETD010A String10=*ETD010B String11=*ETD010C String12=*ETD010E String13=*ETD010F String14=*ETD0111 String15=*ETD0112 String16=*ETD0113 String17=*ETD0114 jaclaz Link to comment Share on other sites More sharing options...
Dave-H Posted May 28, 2020 Author Share Posted May 28, 2020 "CheckHWID=0" would presumably result in hardware compatibility not being checked at all, which isn't good as the driver could potentially then just apparently install OK anyway but not work, and the user wouldn't know why. Does "CheckHWID=1" just check that the hardware is referenced in the INF? I would have thought that would be OK. Link to comment Share on other sites More sharing options...
jaclaz Posted May 28, 2020 Share Posted May 28, 2020 26 minutes ago, Dave-H said: "CheckHWID=0" would presumably result in hardware compatibility not being checked at all, which isn't good as the driver could potentially then just apparently install OK anyway but not work, and the user wouldn't know why. Does "CheckHWID=1" just check that the hardware is referenced in the INF? I would have thought that would be OK. I don't know, that should be it, BUT (I guess) that IF: CheckMode=1 the Stringn= entries in the Setup.ini are checked (instead/overriding ETD.inf ones or - more likely - as a pre-requisite). My personal vote is on the "exact" (for what it costs) Setup.ini: [Setup_Config] CheckHWID=1 CheckMode=1 ResetPreviousRegistry=1 String1=*ETD0000 String2=*ETD0101 String3=*ETD0102 String4=*ETD0105 String5=*ETD0106 String6=*ETD0107 String7=*ETD0108 String8=*ETD0109 String9=*ETD010A String10=*ETD010B String11=*ETD010C String12=*ETD010E String13=*ETD010F String14=*ETD0111 String15=*ETD0112 String16=*ETD0113 String17=*ETD0114 sometimes (not always, but often enough) it is gratifying to be plus royaliste que le roi : https://www.oxfordreference.com/view/10.1093/oi/authority.20110803100332506 jaclaz Link to comment Share on other sites More sharing options...
Dave-H Posted May 28, 2020 Author Share Posted May 28, 2020 Yes indeed! So to be sure we need to supply a setup.ini file as well as an ETD.inf file to replace the default ones in 11.4.14.1. I'm puzzled as to why we didn't run into this problem before now. Did we perhaps copy the setup.ini file from 11.5.20.3 as well as the INF when we made the "Frankendriver", and that version just stayed there throughout the subsequent tests? Link to comment Share on other sites More sharing options...
jaclaz Posted May 28, 2020 Share Posted May 28, 2020 (edited) 25 minutes ago, Dave-H said: Yes indeed! So to be sure we need to supply a setup.ini file as well as an ETD.inf file to replace the default ones in 11.4.14.1. I'm puzzled as to why we didn't run into this problem before now. Did we perhaps copy the setup.ini file from 11.5.20.3 as well as the INF when we made the "Frankendriver", and that version just stayed there throughout the subsequent tests? Yep , in the Frankendriver tests we used as base the 11.5.20.3 and either deleted unneeded files or overwrote selected/needed ones from 11.4.14.1 (or from some other older "Asus" drivers), so - at least here - the Setup.ini in use remained (or became) the *catch all*: [Setup_Config] CheckHWID=1 ResetPreviousRegistry=1 Anyway, it is an interesting philological experiment, undoubtedly the "base" (original) Setup.ini is something like: [Setup_Config] CheckHWID=1 CheckMode=1 String1= ... Stringn= ResetPreviousRegistry=1 the (diligent) Lenovo guy filled the blanks, the (lazy) Asus guy removed the CheckMode and Stringn lines, the (lazier) Samsung guy changed only the CheckHWID=0. Three different solutions/workarounds for a non-problem (as AFAIK a .inf for a driver won't install anyway if it doesn't find the hardware - hence the need for me to create the device via devcon) . The difference is AFAICT only that the Setup.exe outputs a "Cannot install" window earlier if the hardware is checked (CheckHWID=1) and if the list is in Setup.ini (and CheckMode=1). jaclaz Edited May 28, 2020 by jaclaz Link to comment Share on other sites More sharing options...
Dave-H Posted May 28, 2020 Author Share Posted May 28, 2020 I've now tried your uninstall modifications to the INF, and I'm pleased to say that the ETD.sys file and the ETD service registry entries are now removed! Why this did not happen before I'm at a loss to understand, every single driver we've tried left those behind when it was uninstalled, even the later Asus drivers we tried on 8.1, they left the equivalent AsusTP.sys file behind! Very strange, if it was just laziness on the part of the INF programmers, why are all the drivers like that? Anyway, what you've done now is a great improvement! I used the default "simple" setup.ini from 11.5.20.3 and it works fine, so I can't see any obvious reason not to use it. Link to comment Share on other sites More sharing options...
Dave-H Posted May 28, 2020 Author Share Posted May 28, 2020 14 hours ago, RainyShadow said: If the strings section is the last in that file, you can just echo String28=*ETD0108 >> setup.ini from a .bat file or whatever. Sorry @RainyShadow, I should have thanked you for your suggestion. I think we're OK with this now though. Link to comment Share on other sites More sharing options...
jaclaz Posted May 28, 2020 Share Posted May 28, 2020 59 minutes ago, Dave-H said: I've now tried your uninstall modifications to the INF, and I'm pleased to say that the ETD.sys file and the ETD service registry entries are now removed! Why this did not happen before I'm at a loss to understand, every single driver we've tried left those behind when it was uninstalled, even the later Asus drivers we tried on 8.1, they left the equivalent AsusTP.sys file behind! Very strange, if it was just laziness on the part of the INF programmers, why are all the drivers like that? Anyway, what you've done now is a great improvement! I used the default "simple" setup.ini from 11.5.20.3 and it works fine, so I can't see any obvious reason not to use it. Good. Back to this test, and if it works, we are all set for a "final" version: https://msfn.org/board/topic/181362-xp-driver-for-amd-hd8180-graphics-and-elan-ps2-touchpad/page/38/?tab=comments#comment-1182336 Note, when trying here (BOTH with devcon and with Setup.exe), there is a "queer" behaviour, they *somehow* install - besides ETD.inf, also ETDsimpleUI.inf AND ETDSimpleUI_remove.inf (which of course makes the ETDSimpleUI.exe install a non-install), it is like the Setup.exe (but also devcon.exe, notwithstanding the command line devcon install .\x86\ETD.inf *ETD0108) runs all .inf files in the folder, i.e. *.inf. The ETDSimpleUI.exe needs the .avi files that are present in the "main" \x86\ folder and even if we make an \x86\ETDsimpleUI\ subdirectory, the path to the higher level \x86\ subdirectory is not a valid one in .inf files syntax (AFAICT), not really a problem as the .inf will ask for the first .avi file and the user will need to point to the higher level directory, then all other .avi files will be copied from there. The ETDSimpleUI_remove.inf can instead be put in a subdirectory, no problem with that. We'll have to think about a way out for this CATCH22 , we could well replace the two .inf files with a small batch or a couple .reg files. Also, it has to be tested if the ETD_Uninst.exe is "smart" or not, i.e. if it deletes ONLY the files mentioned in oemnn.inf AND IF the \Program FIles\Elantech\ directory is empty THEN it removes it OR if it simply deletes the \Program FIles\Elantech\ directory, no questions asked. About ETDSimpleUI.exe, it seems like in order to run it needs to access an (empty) HKEY_CURRENT_USER\Software\Elantech key, this is not (here) created by the ETD.inf (but it may well be created on your system by the actual ETD.sys or ETDCtrl.exe running, cannot say). jaclaz Link to comment Share on other sites More sharing options...
Dave-H Posted May 28, 2020 Author Share Posted May 28, 2020 Your install INF for ETDSimpleUI works fine. The uninstall INF works fine apart from leaving the HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{3EA22083-D5BF-411b-A6D6-A27541794266} key behind, which results in a dead blank icon in the Windows Control Panel. I'm sure you're right about those four video files not being used by ETDSimpleUI, I seem to remember that I found that as well. Unfortunately if you install the ETDSimpleUI, its settings are not used by the driver! It's back to the same problem we had with the Asus UI and the Elan UI before, where the Asus UI actually changed the settings, but the Elan one didn't, although it appeared to. Now the Elan UI changes the settings, and the ETDSimpleUI doesn't, although it appears to. I guess they're changing different things in the registry again! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now