Driver install order

G

Guest

Hi,

I'm trying to install a network filter driver during FBA.
I need to have the install command run after the "RAS Async Adapter"
(asyncmac) is installed.
I've tried changing the phase, build order and build order dependencies but
can't get the command to execute in any location other than the one shown
below.

At one point when I changed the phase to 8501 the command executed twice.

fbalog.txt

snetcfg.exe -l d:\WINDOWS\inf\netnb.inf -c s -i MS_NETBIOS (ExitCode: 0x0)
....
snetcfg.exe -l d:\WINDOWS\inf\netwzc.inf -c s -i MS_WZCSVC (ExitCode: 0x0)

*****The install happens here******
--snetcfg.exe -l d:\WINDOWS\inf\MYDRIVER.INF -c s -i my_drivername (ExitCode: 0x0)--<

[CallEntryPointThread] d:\WINDOWS\FBA\FBANET.DLL, FBAInstallNetworking
....
[FBALaunch] d:\WINDOWS\system32\sweninst.exe asyncmac netrasa.inf (ExitCode:
0x1)

*****I need my install to happen here.******

Can anyone explain what phase, buld order and build order dependency would
get my driver to install here?

My driver install
Phase = 5600
Build order = 1006
Build order dependencies = Dial-up networking common library, tcp/ip
Networking, RAS Async Adapter

asyncmac install - in dial-up networking common library
phase = 3560
Build order = 1000

From my reading it looks as if my install should run after the asyncmac but
there must be a subtle thing I'm missing.

Thanks,
Ed.
 
G

Guest

Also:

I checked the FBA execution order in the registry of my target machine:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsEmbedded\FBA

232652860 - FBAInstallNetworking
233308190 - ASYNCMAC Installation
367001934 - MyDriver install

and it looks like my driver should be processed after the asyncmac install
but it isn't. Could it be part of the pnp magic that over rides this order?

Thanks,
Ed.

SilentCode said:
Hi,

I'm trying to install a network filter driver during FBA.
I need to have the install command run after the "RAS Async Adapter"
(asyncmac) is installed.
I've tried changing the phase, build order and build order dependencies but
can't get the command to execute in any location other than the one shown
below.

At one point when I changed the phase to 8501 the command executed twice.

fbalog.txt

snetcfg.exe -l d:\WINDOWS\inf\netnb.inf -c s -i MS_NETBIOS (ExitCode: 0x0)
...
snetcfg.exe -l d:\WINDOWS\inf\netwzc.inf -c s -i MS_WZCSVC (ExitCode: 0x0)

*****The install happens here******
--snetcfg.exe -l d:\WINDOWS\inf\MYDRIVER.INF -c s -i my_drivername (ExitCode: 0x0)--<

[CallEntryPointThread] d:\WINDOWS\FBA\FBANET.DLL, FBAInstallNetworking
...
[FBALaunch] d:\WINDOWS\system32\sweninst.exe asyncmac netrasa.inf (ExitCode:
0x1)

*****I need my install to happen here.******

Can anyone explain what phase, buld order and build order dependency would
get my driver to install here?

My driver install
Phase = 5600
Build order = 1006
Build order dependencies = Dial-up networking common library, tcp/ip
Networking, RAS Async Adapter

asyncmac install - in dial-up networking common library
phase = 3560
Build order = 1000

From my reading it looks as if my install should run after the asyncmac but
there must be a subtle thing I'm missing.

Thanks,
Ed.
 
K

KM

Ed,

Any chance for you to zip up and post here your *pre-FBA* image system hive (\windows\system32\config\system)?

--
Regards,
KM, BSquare Corp.

Hi,

I'm trying to install a network filter driver during FBA.
I need to have the install command run after the "RAS Async Adapter"
(asyncmac) is installed.
I've tried changing the phase, build order and build order dependencies but
can't get the command to execute in any location other than the one shown
below.

At one point when I changed the phase to 8501 the command executed twice.

fbalog.txt

snetcfg.exe -l d:\WINDOWS\inf\netnb.inf -c s -i MS_NETBIOS (ExitCode: 0x0)
...
snetcfg.exe -l d:\WINDOWS\inf\netwzc.inf -c s -i MS_WZCSVC (ExitCode: 0x0)

*****The install happens here******
--snetcfg.exe -l d:\WINDOWS\inf\MYDRIVER.INF -c s -i my_drivername (ExitCode: 0x0)--<

[CallEntryPointThread] d:\WINDOWS\FBA\FBANET.DLL, FBAInstallNetworking
...
[FBALaunch] d:\WINDOWS\system32\sweninst.exe asyncmac netrasa.inf (ExitCode:
0x1)

*****I need my install to happen here.******

Can anyone explain what phase, buld order and build order dependency would
get my driver to install here?

My driver install
Phase = 5600
Build order = 1006
Build order dependencies = Dial-up networking common library, tcp/ip
Networking, RAS Async Adapter

asyncmac install - in dial-up networking common library
phase = 3560
Build order = 1000

From my reading it looks as if my install should run after the asyncmac but
there must be a subtle thing I'm missing.

Thanks,
Ed.
 
K

KM

Ed,

Please disregard my previous request for the System hive. I requested that only to check the \FBA registry key and you already
posted the info :)

One suggestion.. Replace the snetcgf command you set up with a call to cmd.exe and see if FBA messes up with the command order.
If so, it is the command setup issue. (we would probably need to see your SLD)
If not, it is a FBA PnP issue.

--
Regards,
KM, BSquare Corp.

Also:

I checked the FBA execution order in the registry of my target machine:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsEmbedded\FBA

232652860 - FBAInstallNetworking
233308190 - ASYNCMAC Installation
367001934 - MyDriver install

and it looks like my driver should be processed after the asyncmac install
but it isn't. Could it be part of the pnp magic that over rides this order?

Thanks,
Ed.

SilentCode said:
Hi,

I'm trying to install a network filter driver during FBA.
I need to have the install command run after the "RAS Async Adapter"
(asyncmac) is installed.
I've tried changing the phase, build order and build order dependencies but
can't get the command to execute in any location other than the one shown
below.

At one point when I changed the phase to 8501 the command executed twice.

fbalog.txt

snetcfg.exe -l d:\WINDOWS\inf\netnb.inf -c s -i MS_NETBIOS (ExitCode: 0x0)
...
snetcfg.exe -l d:\WINDOWS\inf\netwzc.inf -c s -i MS_WZCSVC (ExitCode: 0x0)

*****The install happens here******
--snetcfg.exe -l d:\WINDOWS\inf\MYDRIVER.INF -c s -i my_drivername (ExitCode: 0x0)--<

[CallEntryPointThread] d:\WINDOWS\FBA\FBANET.DLL, FBAInstallNetworking
...
[FBALaunch] d:\WINDOWS\system32\sweninst.exe asyncmac netrasa.inf (ExitCode:
0x1)

*****I need my install to happen here.******

Can anyone explain what phase, buld order and build order dependency would
get my driver to install here?

My driver install
Phase = 5600
Build order = 1006
Build order dependencies = Dial-up networking common library, tcp/ip
Networking, RAS Async Adapter

asyncmac install - in dial-up networking common library
phase = 3560
Build order = 1000

From my reading it looks as if my install should run after the asyncmac but
there must be a subtle thing I'm missing.

Thanks,
Ed.
 
G

Guest

Thanks for the tip!

I changed the command to cmd.exe and hey presto it appeared in the fbalog as
expected (some place after the RAS Async Adapter) :)

My immediate action after that was to run a batch file and discovered that
FBA interprets batch files as dll entry points as seen below:

[FBACallEntryPoint] LoadLibrary(d:\WINDOWS\system32\installimdriver.bat)
(Error: 0xc1)

Then it dawned on me to use cmd.exe with the /C option:

[FBALaunch] d:\WINDOWS\system32\cmd.exe /C d:\WINDOWS\system32\snetcfg.exe
-l d:\WINDOWS\inf\mydriver.INF -c s -i my_drivername (ExitCode: 0x0)

and now the drive installs correctly with out messing up the network
bindings :) :)

So it looks as if FBA does some special processing of commands and probably
recognises snetcfg.exe as being "special" and groups them together. Maybe
this behavior is documented some where.

Thanks again,
Ed.

KM said:
Ed,

Please disregard my previous request for the System hive. I requested that only to check the \FBA registry key and you already
posted the info :)

One suggestion.. Replace the snetcgf command you set up with a call to cmd.exe and see if FBA messes up with the command order.
If so, it is the command setup issue. (we would probably need to see your SLD)
If not, it is a FBA PnP issue.

--
Regards,
KM, BSquare Corp.

Also:

I checked the FBA execution order in the registry of my target machine:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsEmbedded\FBA

232652860 - FBAInstallNetworking
233308190 - ASYNCMAC Installation
367001934 - MyDriver install

and it looks like my driver should be processed after the asyncmac install
but it isn't. Could it be part of the pnp magic that over rides this order?

Thanks,
Ed.

SilentCode said:
Hi,

I'm trying to install a network filter driver during FBA.
I need to have the install command run after the "RAS Async Adapter"
(asyncmac) is installed.
I've tried changing the phase, build order and build order dependencies but
can't get the command to execute in any location other than the one shown
below.

At one point when I changed the phase to 8501 the command executed twice.

fbalog.txt

snetcfg.exe -l d:\WINDOWS\inf\netnb.inf -c s -i MS_NETBIOS (ExitCode: 0x0)
...
snetcfg.exe -l d:\WINDOWS\inf\netwzc.inf -c s -i MS_WZCSVC (ExitCode: 0x0)

*****The install happens here******
--snetcfg.exe -l d:\WINDOWS\inf\MYDRIVER.INF -c s -i my_drivername (ExitCode: 0x0)--<

[CallEntryPointThread] d:\WINDOWS\FBA\FBANET.DLL, FBAInstallNetworking
...
[FBALaunch] d:\WINDOWS\system32\sweninst.exe asyncmac netrasa.inf (ExitCode:
0x1)

*****I need my install to happen here.******

Can anyone explain what phase, buld order and build order dependency would
get my driver to install here?

My driver install
Phase = 5600
Build order = 1006
Build order dependencies = Dial-up networking common library, tcp/ip
Networking, RAS Async Adapter

asyncmac install - in dial-up networking common library
phase = 3560
Build order = 1000

From my reading it looks as if my install should run after the asyncmac but
there must be a subtle thing I'm missing.

Thanks,
Ed.
 
K

KM

Ed,

I am glad you fixed it.
That is obviously undocumented behavior of the FBA.

--
Regards,
KM, BSquare Corp.

Thanks for the tip!

I changed the command to cmd.exe and hey presto it appeared in the fbalog as
expected (some place after the RAS Async Adapter) :)

My immediate action after that was to run a batch file and discovered that
FBA interprets batch files as dll entry points as seen below:

[FBACallEntryPoint] LoadLibrary(d:\WINDOWS\system32\installimdriver.bat)
(Error: 0xc1)

Then it dawned on me to use cmd.exe with the /C option:

[FBALaunch] d:\WINDOWS\system32\cmd.exe /C d:\WINDOWS\system32\snetcfg.exe
-l d:\WINDOWS\inf\mydriver.INF -c s -i my_drivername (ExitCode: 0x0)

and now the drive installs correctly with out messing up the network
bindings :) :)

So it looks as if FBA does some special processing of commands and probably
recognises snetcfg.exe as being "special" and groups them together. Maybe
this behavior is documented some where.

Thanks again,
Ed.

KM said:
Ed,

Please disregard my previous request for the System hive. I requested that only to check the \FBA registry key and you already
posted the info :)

One suggestion.. Replace the snetcgf command you set up with a call to cmd.exe and see if FBA messes up with the command order.
If so, it is the command setup issue. (we would probably need to see your SLD)
If not, it is a FBA PnP issue.

--
Regards,
KM, BSquare Corp.

Also:

I checked the FBA execution order in the registry of my target machine:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsEmbedded\FBA

232652860 - FBAInstallNetworking
233308190 - ASYNCMAC Installation
367001934 - MyDriver install

and it looks like my driver should be processed after the asyncmac install
but it isn't. Could it be part of the pnp magic that over rides this order?

Thanks,
Ed.

:

Hi,

I'm trying to install a network filter driver during FBA.
I need to have the install command run after the "RAS Async Adapter"
(asyncmac) is installed.
I've tried changing the phase, build order and build order dependencies but
can't get the command to execute in any location other than the one shown
below.

At one point when I changed the phase to 8501 the command executed twice.

fbalog.txt

snetcfg.exe -l d:\WINDOWS\inf\netnb.inf -c s -i MS_NETBIOS (ExitCode: 0x0)
...
snetcfg.exe -l d:\WINDOWS\inf\netwzc.inf -c s -i MS_WZCSVC (ExitCode: 0x0)

*****The install happens here******
--snetcfg.exe -l d:\WINDOWS\inf\MYDRIVER.INF -c s -i my_drivername (ExitCode: 0x0)--<

[CallEntryPointThread] d:\WINDOWS\FBA\FBANET.DLL, FBAInstallNetworking
...
[FBALaunch] d:\WINDOWS\system32\sweninst.exe asyncmac netrasa.inf (ExitCode:
0x1)

*****I need my install to happen here.******

Can anyone explain what phase, buld order and build order dependency would
get my driver to install here?

My driver install
Phase = 5600
Build order = 1006
Build order dependencies = Dial-up networking common library, tcp/ip
Networking, RAS Async Adapter

asyncmac install - in dial-up networking common library
phase = 3560
Build order = 1000

From my reading it looks as if my install should run after the asyncmac but
there must be a subtle thing I'm missing.

Thanks,
Ed.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top