Topic: Problems with Search plugin  (Read 11461 times)

Problems with Search plugin
« on: October 20, 2015, 10:56:31 PM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Hi.

Search into WinPE is not working for me. I've the latest WinBuilder with the latest search plugin. I'm using an iso downloaded (Windows 10 en-US) from TechBench.
The search script was selected and I didn't get any error. If I type something, nothing happens.

I tried with different languages too, such as en-GB, pt-BR and ko-KR. En-us, en-gb and pt-br aren't working. But ko-KR works fine.

So, I don't know if there is something missing from script or I'm doing something wrong.

I wonder someone could help me, please.

Thanks.

Re: Problems with Search plugin
« Reply #1 on: October 20, 2015, 11:07:36 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
I've the latest WinBuilder with the latest search plugin

do not use latest winbuilder, use the one distributed with project, latest winbuilder would have bugs that would cause unwanted results.


Win10PESE is under development with contributions,
 especially "Components" and later plugins developed with contributions,
 project admins mainly work on things of their interest, and core plugins,

as you already know, ied206 made Search available only for Korean builds, and you already posted there:
http://theoven.org/index.php?topic=1457



some ways you should follow:
* wait ied206 respond on other topic, maybe ied206 interested in search for western languages maybe not, up to ied206
* work on search plugin to figure out what is missing
* wait someone get search plugin work on western languages on Win10

:turtle:

Re: Problems with Search plugin
« Reply #2 on: October 21, 2015, 12:00:15 AM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Thank you for help me, Lancelot.

I'm using this 2015-10-14 Winbuilder project. Is it right?

Yes, ied206 is helping me, but I created this topic because maybe someone has a tip.

And yes, I've been working to find out what's wrong. And I found something interesting.

On Korean build using process monitor I saw a process running from Windows.Storage.Search.dll, but on my build this process won't start.

So, now I don't know if the problem is a missing file or with registry.

Thanks.

Re: Problems with Search plugin
« Reply #3 on: October 21, 2015, 12:17:12 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
I highly guess, you mean Win10PESE 2015-10-14 zip package.

since there is no such thing named 2015-10-14 Winbuilder project  :lol: :lol:

*
See FAQ
Important
..
After you download and extract zip distribution
 First use "Utils\Update XXX (Exact and Secure)"
....



*

See FAQ
http://theoven.org/index.php?topic=834.0
Quote
** Forum TheOven.org
....

to figure out how wheels turn around here, unlike "General Forums" :thumbsup:

I strongly advice, read  :wink:


*
Well as you see it is not easy to create such plugins ;)
 Process Monitor is your best friend, you can trace compare what happens when windows calls Windows.Storage.Search.dll , before and after....
 I wish my best luck  :thumbsup:

Re: Problems with Search plugin
« Reply #4 on: October 21, 2015, 12:55:08 AM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Thank you Lancelot.
I'm doing my best to figure out what's is wrong.

If someone knows what's is wrong or has a tip I would appreciate that.

Thanks.

Re: Problems with Search plugin
« Reply #5 on: October 21, 2015, 05:50:27 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Hello, I reproduced your search problem in my en-US build today. Now I am trying out to find the cause.
I have been busy lately, sorry for late reply.

To fix this issue, we should research about which dll is needed for en-US search.
In my case, I found ko-KR dependency with a word 'kor', 'dll' and some luck.
Better to start with googling with a keyword like 'Windows 10 Search not working', etc.

As Lancelot said, Process Monitor will be our friend for troubleshooting...

Add) Does this problem exists in Win7PESE, Win8PESE, Win8.1SE too?
« Last Edit: October 21, 2015, 05:56:28 AM by ied206 »

Re: Problems with Search plugin
« Reply #6 on: October 21, 2015, 07:05:28 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Found the cause : prm0009.dll was missing.
According to NirSoft (http://windows10dll.nirsoft.net/prm0009_dll.html), the name of dll is 'Microsoft English Natural Language Data and Code'.

When I tried to do search in en-US Win10PESE, I analyized explorer.exe with Process Monitor.
explorer.exe was looking for prm0009.dll, but it was missing.
So I added prm0009.dll to Target directory and repacked wim, then Search works well in en-US Win10PESE.
(Praise Sysinternals again for its great debug tool!  :thumbsup:)

I guess that search bug in en-US may affect Win7PESE, Win8PESE, Win8.1SE too, so mynhow, can you test it?
Attached plugin is an experimental script (v11) which adds prm0009.dll when using en-US source.
« Last Edit: October 21, 2015, 07:12:04 AM by ied206, Reason: typo »

Re: Problems with Search plugin
« Reply #7 on: October 21, 2015, 07:38:19 AM »

Kvark

  • Jr. Chef
  • **
  • Date Registered: Sep 2015
  • Posts: 69
I guess that search bug in en-US may affect Win7PESE, Win8PESE, Win8.1SE too, so mynhow, can you test it?

For me, search works fine in Win7PESE. In Win10PESE, I had the same issue - search was not working, so I used the Start10 plugin as a workaround.
« Last Edit: October 21, 2015, 09:03:37 AM by Kvark »

Re: Problems with Search plugin
« Reply #8 on: October 21, 2015, 08:47:38 AM »

Kvark

  • Jr. Chef
  • **
  • Date Registered: Sep 2015
  • Posts: 69
ied206, I've just tested you v11 search plugin with the Classic Shell plugin, it works fine. The only disadvantage is that this Start menu needs a lot more time to load on boot against Start10.
« Last Edit: October 21, 2015, 11:41:51 AM by Kvark »

Re: Problems with Search plugin
« Reply #9 on: October 21, 2015, 12:12:58 PM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Kvark, thank you for your test.
I also tested en-US Win8.1SE too, which works fine without prm0009.dll.
It seems prm0009.dll is only needed for en-US Windows 10.

So I changed v11 plugin to copy prm0009.dll only for en-US Windows 10.
Here it is, please test is with SE Projects.

Re: Problems with Search plugin
« Reply #10 on: October 21, 2015, 12:26:02 PM »

Kvark

  • Jr. Chef
  • **
  • Date Registered: Sep 2015
  • Posts: 69
Kvark, thank you for your test.
I also tested en-US Win8.1SE too, which works fine without prm0009.dll.
It seems prm0009.dll is only needed for en-US Windows 10.

So I changed v11 plugin to copy prm0009.dll only for en-US Windows 10.
Here it is, please test is with SE Projects.

Thank you, ied206. I can see that the new version of the plugin is on the server.
How can I add Russian language support to this plugin?
« Last Edit: October 22, 2015, 06:42:25 AM by Kvark »

Re: Problems with Search plugin
« Reply #11 on: October 21, 2015, 02:22:58 PM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Kvark, Process Monitor is a best tool for debugging executable's dependency.

Build PE with 'Apps - System Tools - Debug - Sysinternals Process Monitor' checked.
Then, boot a built PE, and launch Process Monitor.

You can see an icon looks like radar.
ila_rendered

Drag this icon to explorer's search bar.
ila_rendered

Before you start typing into search bar, press Ctrl+X in process monitor.
It will remove unrelated events.
When you are ready, type some words into search bar, then press Ctrl+E to stop logging.

You can save a log into PML file and analyize it later with Process Monitor (or analyize at runtime)

When you open PML file in Process Monitor, you should filter events to find some information.
ila_rendered
Filter with [Path] [contains] [dll] then [Include] option.
Search for file operations : CreateFile, ReadFile, QueryOpen, QueryStandardInformation, etc.
(You can exclude registry operations in this case)

Then search for failure message like NAME NOT FOUND in 'Result' column.
Look for the time near when you typed in search bar, and you will be able to notice some dll dependency.
(Simple Scenario : An executable looks for dll as a dependency, but it cannot find it : produce NAME NOT FOUND message)

When you found some uncopied dependency dlls, copy it manually to System32 and repack wim.
Repeat this to find all of dependency dlls, then at some point Search will work in your locale.
« Last Edit: October 21, 2015, 02:24:34 PM by ied206 »

Re: Problems with Search plugin
« Reply #12 on: October 21, 2015, 04:36:23 PM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Thank you ied206. It's working now.

But for me I needed to include NlsData0009.dll too. Just prm0009.dll didn't work. Copy these files by script to an en-GB build works fine too.

Now I'm testing with pt-BR. But it uses different files.

Thanks again.

Re: Problems with Search plugin
« Reply #13 on: October 21, 2015, 05:35:36 PM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
In my case, I used MSDN Official Image (en-US, ko-KR) as a source.
It seems dependency is slightly different by source of ISO.

According to mynhow, it should be changed to like this.

Code: [Select]
If,%DistLang%,Equal,en-US,Begin
Require_FileQ,prm0009.dll
Require_FileQ,NlsData0009.dll
End
If,%DistLang%,Equal,en-GB,Begin
Require_FileQ,prm0009.dll
Require_FileQ,NlsData0009.dll
End

It has to be checked that if en-NonUS (like en-GB) workes well with this code.
If it is, it can be modified to support all of English locales generally.

Code: [Select]
StrFormat,LEFT,%DistLang%,2,%DistLangFirst%
If,%DistLangFirst%,Equal,en,Begin
Require_FileQ,prm0009.dll
Require_FileQ,NlsData0009.dll
End
« Last Edit: October 21, 2015, 05:37:56 PM by ied206 »

Re: Problems with Search plugin
« Reply #14 on: October 21, 2015, 06:46:19 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Thanks ied206,

I added your reply 11 to FAQ
http://theoven.org/index.php?topic=834
Q: How to Find dependencies ?

If it is, it can be modified to support all of English locales generally.
Just for info:
MS call them with name: "Western Europe Language Group"
or "Western Europe and United States Language Group" ...  :thumbsup:

:turtle:
« Last Edit: October 21, 2015, 06:46:31 PM by Lancelot »

Re: Problems with Search plugin
« Reply #15 on: October 21, 2015, 07:40:51 PM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Hi ied206.

I tested here and works fine on en-GB. So you don't need to create "If,%DistLangFirst%,Equal,en,Begin" to both.

I tested pt-BR and I found the missing files: NlsData0416.dll and MLS6.dll

I cannot upload files, so if you ied206 or a moderator could update the script, I would really appreciate it.

I will try with a Italian iso now.

Off: ied206, thank you for your tip about process monitor. The work is easier now.

Thanks.

Re: Problems with Search plugin
« Reply #16 on: October 22, 2015, 11:36:27 PM »

ChrisR

  • XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Thanks ied206, mynhow  :thumbsup:

* Search_v12.script (53.49 kB - downloaded 118 times.)

prm00*.dll files and Nlsdata*.dll: Ms Neutral language data and code seems not require in 7, 8 and 8.1. I have not added

mynhow: Can you confirm for NlsData0009.dll, here, with an en-US build, it works without. And for fr-FR it works without NlsData000c.dll ?

For compatibility with different languages, I added with if existFile....
Code: [Select]
If,ExistFile,%Source_sys%\prm*.dll,FileCopy,%Source_sys%\prm*.dll,%Target_sys%
If,ExistFile,%Source_sys%\MLS*.dll,FileCopy,%Source_sys%\MLS*.dll,%Target_sys%
If,ExistFile,%Source_sys%\NlsData*.dll,FileCopy,%Source_sys%\NlsData*.dll,%Target_sys%
// NlsData0000.dll seems not needed
If,ExistFile,%Target_sys%\NlsData0000.dll,FileDelete,%Target_sys%\NlsData0000.dll

Re: Problems with Search plugin
« Reply #17 on: October 23, 2015, 02:36:05 AM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Hi, ChrisR.

Thanks for update the script.

I was testing here an en-US build and  it doesn't need NlsData0009.dll to work. I've thought it was necessary but it isn't.

pt-BR and it-IT need MLS6.dll to work. I think nlsdata*.dll isn't necessary anymore.

I'll test both again and post here the results. About fr-FR I'll test it too. Just give me some time.

Thanks.

Re: Problems with Search plugin
« Reply #18 on: October 23, 2015, 10:20:55 AM »

ChrisR

  • XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Hi mynhow,

For the french one, it's my base and it does not need additional files, even if NlsData000c.dll is in the source DVD.
I guess that NlsData*.dll file are not required for the the search plugin, to put in comment probably.
with the if existFile prm*.dll, MSI*.dll I hope it should work for most languages.

I wait your latest results, no rush, to put on the server  :thumbsup:


Re: Problems with Search plugin
« Reply #19 on: October 23, 2015, 03:31:19 PM »

mynhow

  • Jr. Chef
  • **
  • Date Registered: Oct 2015
  • Posts: 43
Hi ChrisR.

I've tested here and the results are:

en-US and en-GB need prm*.dll only.   
pt-br and it-IT need MLS*.dll only.

So, I guess most of languages will work with one of these files.

Thanks.

 

Powered by EzPortal