I've put together a BSP that builds flawlessly. Now I'm trying to use
the Export Wizard to create an installable .msi file that I can
distrubute but have hit a roadblock. I'm getting a Platform Builder
error message that says:

"The Export Wizard could not build the .msi file. Be sure all
files and directories that you include are valid and then run
the Export Wizard again."

I've scaled the export task back to just the .cec file. I'm not
adding any extra files or directories.

It would be nice to have some clues about what files it thinks are
invalid or missing. The OS design I'm testing is built upon the BSP
I'm trying to export. The build system obviously thinks everything is
OK because the OS image builds without errors and works on the target
hardware. I've tried going through the .cec file line by line but
can't find anything that appears to be invalid.

What gives?

RE: CE 5.0 - Export Wizard Bug? by christopherle

christopherle
Tue Sep 28 13:50:46 CDT 2004

Hi. At what step during the export process do you encounter this error
message? Is it at the very end of the wizard or beforehand? Also, would you
be able to post your .cec file as an attachment?


Re: CE 5.0 - Export Wizard Bug? by callmekw

callmekw
Tue Sep 28 21:26:21 CDT 2004

christopherle@online.microsoft.com (Christopher Le [MS]) wrote in message news:<NVkRRwYpEHA.2640@cpmsftngxa06.phx.gbl>...
> Hi. At what step during the export process do you encounter this error
> message? Is it at the very end of the wizard or beforehand? Also, would you
> be able to post your .cec file as an attachment?

I can give you two sections of it as an example. I cloned the CEPC
BSP as a starting point and called the clone MyBSP. If I add the
following section to the end of the .cec file, the export works fine:

ComponentType
(
Name ( "M-Systems DiskOnChip" )
GUID ( {CAE28A73-8C9C-4CAB-837D-36C5E67B18F5} )
Group ( "\Device Drivers" )
Vendor ( "M-Systems" )
MaxResolvedImpsAllowed( 1 )
Implementations
(
Implementation
(
Name ( "M-Systems DiskOnChip" )
GUID ( {26B4B7C4-1BC5-4DE0-BDD5-9D9ADA0EC7BB} )
Description ( "M-Systems DiskOnChip Driver" )
BSPPlatformDir ( "MyBSP" )
Version ( "5.1.4.1" )
Locale ( 0409 )
Vendor ( "M-Systems" )
Date ( "4/24/2004" )
Variable( "BSP_MSYSTEMS_DISKONCHIP", "1" )
Variable( "MODULE_NAME", "TrueFFS.dll" )
SizeIsCPUDependent( 1 )
BuildMethods
(
BuildMethod
(
GUID ( {F9C47974-134A-45E1-BFC0-C593DCAFFEBB} )
Step ( CESYSGEN )
CPU ( "x86" )
Action ( '#SRCCODE( USER_PROJECT,
"$(_WINCEROOT)\Platform\MyBSP\Drivers\DiskOnChip\DiskOnChip.pbpxml")'
)
)
)
)
)
)


However, if add this next section, I get the error:

ComponentType
(
Name ( "Audio" )
GUID ( {4A25A750-B641-4AF3-9FDF-7CC044108418} )
Group ( "\Device Drivers" )
Vendor ( "VIA Technologies, Inc." )
HelpID ( 477 )
MaxResolvedImpsAllowed( 999 )
RequiredCEModules( ALL, "waveapi device" )
Implementations
(
Implementation
(
Name ( "VIA 3058 Audio (Unified)" )
GUID ( {FF25C725-9C2F-4DC6-92E8-2B2759022263} )
Description ( "VIA 3058 Unified Audio Model Driver" )
BSPPlatformDir ( "MyBSP" )
Version ( "1.3.1.1" )
Locale ( 0409 )
Vendor ( "VIA Technologies, Inc." )
ImplSize ( 27648 )
Date ( "5/13/2004" )
Variable( "BSP_WAVEDEV_UAM3058", "1" )
Variable( "MODULE_NAME", "UAM3058.dll" )
SizeIsCPUDependent( 1 )
BuildMethods
(
BuildMethod
(
GUID ( {3B41E6B9-90E7-4B94-B8F9-1EAD53CACBFD} )
Step ( CESYSGEN )
CPU ( "x86" )
Action ( '#SRCCODE( USER_PROJECT,
"$(_WINCEROOT)\PLATFORM\MyBSP\Drivers\Audiouam3058\UAM3058.pbpxml" )'
)
)
)
)
)
)


The error occurs at the very end of the Export Wizard when you click
on "Finish". The directory structure and filenames are all valid.

I can duplicate the error at will with these two
ComponentType blocks.

Re: CE 5.0 - Export Wizard Bug? by callmekw

callmekw
Tue Oct 05 15:06:00 CDT 2004

I now have more information and am posting an addendum to my last post
in case anyone is monitoring the thread...

I have just discovered and validated something very interesting.

Using the example from my last post regarding the "Audio" entry in the
.cec file, I did the following:

-> Using Windows Explorer, I went to the directory that contained the
UAM3058.pbpxml file and made a copy of it. The copy was named "Copy
of UAM3058.pbpxml" by default.

-> I renamed the new file "test.pbpxml"

-> I then edited my MyBSP.cec file by changing the pbpxml filename in
the BuildMethod section accordingly.

-> I tried the Export Wizard again and Viola!, it worked.

This makes absolutely no sense to me. I only know it works. I'm sure
this is a feature and I'm just not nuanced enough to appreciate it.
Can someone from MS look at this and provide an explanation???


callmekw@hotmail.com (kw) wrote in message news:<bf1fb939.0409281826.3302e3e9@posting.google.com>...
> christopherle@online.microsoft.com (Christopher Le [MS]) wrote in message news:<NVkRRwYpEHA.2640@cpmsftngxa06.phx.gbl>...
> > Hi. At what step during the export process do you encounter this error
> > message? Is it at the very end of the wizard or beforehand? Also, would you
> > be able to post your .cec file as an attachment?
>
> I can give you two sections of it as an example. I cloned the CEPC
> BSP as a starting point and called the clone MyBSP. If I add the
> following section to the end of the .cec file, the export works fine:
>
> ComponentType
> (
> Name ( "M-Systems DiskOnChip" )
> GUID ( {CAE28A73-8C9C-4CAB-837D-36C5E67B18F5} )
> Group ( "\Device Drivers" )
> Vendor ( "M-Systems" )
> MaxResolvedImpsAllowed( 1 )
> Implementations
> (
> Implementation
> (
> Name ( "M-Systems DiskOnChip" )
> GUID ( {26B4B7C4-1BC5-4DE0-BDD5-9D9ADA0EC7BB} )
> Description ( "M-Systems DiskOnChip Driver" )
> BSPPlatformDir ( "MyBSP" )
> Version ( "5.1.4.1" )
> Locale ( 0409 )
> Vendor ( "M-Systems" )
> Date ( "4/24/2004" )
> Variable( "BSP_MSYSTEMS_DISKONCHIP", "1" )
> Variable( "MODULE_NAME", "TrueFFS.dll" )
> SizeIsCPUDependent( 1 )
> BuildMethods
> (
> BuildMethod
> (
> GUID ( {F9C47974-134A-45E1-BFC0-C593DCAFFEBB} )
> Step ( CESYSGEN )
> CPU ( "x86" )
> Action ( '#SRCCODE( USER_PROJECT,
> "$(_WINCEROOT)\Platform\MyBSP\Drivers\DiskOnChip\DiskOnChip.pbpxml")'
> )
> )
> )
> )
> )
> )
>
>
> However, if add this next section, I get the error:
>
> ComponentType
> (
> Name ( "Audio" )
> GUID ( {4A25A750-B641-4AF3-9FDF-7CC044108418} )
> Group ( "\Device Drivers" )
> Vendor ( "VIA Technologies, Inc." )
> HelpID ( 477 )
> MaxResolvedImpsAllowed( 999 )
> RequiredCEModules( ALL, "waveapi device" )
> Implementations
> (
> Implementation
> (
> Name ( "VIA 3058 Audio (Unified)" )
> GUID ( {FF25C725-9C2F-4DC6-92E8-2B2759022263} )
> Description ( "VIA 3058 Unified Audio Model Driver" )
> BSPPlatformDir ( "MyBSP" )
> Version ( "1.3.1.1" )
> Locale ( 0409 )
> Vendor ( "VIA Technologies, Inc." )
> ImplSize ( 27648 )
> Date ( "5/13/2004" )
> Variable( "BSP_WAVEDEV_UAM3058", "1" )
> Variable( "MODULE_NAME", "UAM3058.dll" )
> SizeIsCPUDependent( 1 )
> BuildMethods
> (
> BuildMethod
> (
> GUID ( {3B41E6B9-90E7-4B94-B8F9-1EAD53CACBFD} )
> Step ( CESYSGEN )
> CPU ( "x86" )
> Action ( '#SRCCODE( USER_PROJECT,
> "$(_WINCEROOT)\PLATFORM\MyBSP\Drivers\Audiouam3058\UAM3058.pbpxml" )'
> )
> )
> )
> )
> )
> )
>
>
> The error occurs at the very end of the Export Wizard when you click
> on "Finish". The directory structure and filenames are all valid.
>
> I can duplicate the error at will with these two
> ComponentType blocks.

Re: CE 5.0 - Export Wizard Bug? by callmekw

callmekw
Tue Oct 05 23:05:26 CDT 2004

This is a correction to my last post.

Renaming the pbpxml file does not work. I discovered that I was
changing filenames in another (identical) directory by mistake. D'oh!
Sorry, my bad.

However, the mistake shed more light on this and has narrowed my
focus. Since my filename changes were taking place in the wrong
directory, the editing I did to the .cec file pointed to a nonexistent
file, text.pbpxml. The Export Wizard completed normally despite the
reference to a nonexistent file. EW is obviously not checking to see
if the project file(s) referenced in the .cec really exist.

So it seemed something in the contents of the pbpxml file was to
blame. There's not much there:

<?xml version="1.0"?>
<PBProject BibFile="UAM3058.bib" DisplayName="Audio"
RegFile="UAM3058.reg" xmlns="urn:PBProject-schema" />

I renamed the UAM3058.bib and UAM3058.reg files so that the pbpxml
file was pointing to two nonexistent files. The Export Wizard worked.

I then put the UAM3058.bib file back and tried it again. Export
Wizard worked.

Next I put UAM3058.reg back and tried to export again. No joy.
Export Wizard failed. So it appears that EW does not like the
UAM3058.reg file for some reason. The contents of the file follow:

; uam3058.dll - Unified Audio Driver Model - Monolithic
Wavedev/DSound/MixerAPI driver
; @CESYSGEN IF COREDLL_FULL_CRT
; @CESYSGEN IF CE_MODULES_DEVICE
; @CESYSGEN IF CE_MODULES_FILESYS
; @CESYSGEN IF COREDLL_DEVLOAD
IF BSP_WAVEDEV_UAM3058
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\UAM3058]
"Prefix"="WAV"
"Dll"="uam3058.dll"
"Order"=dword:0
"Class"=dword:04
"SubClass"=dword:01
"ProgIF"=dword:00
"VendorID"=multi_sz:"1106"
"DeviceID"=multi_sz:"3058"
"IsrDll"="giisr.dll"
"IsrHandler"="ISRHandler"

; "Priority256"=dword:61
; "IClass" value is copied from Ensoniq.
"IClass"=multi_sz:"{E92BC203-8354-4043-A06F-2A170BF6F227}",
"{37168569-61C4-45fd-BD54-9442C7DBA46F}"

; Specify desired default DMA buffer size.
; Different size may result in different peformance or quality impact.
"BufferSize"=dword:1000

; The following registry values are dedicated to AC'97 CODEC
registers.
; Only lower word of each registry value is concerned.
; The data format is described as below:
; Bit F E D C B A 9 8 7 6 5 4 3 2 1 0
; Mute - - L4 L3 L2 L1 L0 - - - R4 R3 R2 R1 R0
; L4-L0: Left channel volume
; R4-R0: Right channel volume
; Mute: Mute both channels
; -: Reserved bits
; Please refer to AC'97 codec datasheet for detailed descriptions.

"MasterVolume"=dword:0404 ; AC97 CODEC Stereo Output Control
register
"RecordSelect"=dword:0404 ; AC97 CODEC Record Select register
"CDVolume"=dword:0808 ; AC97 CD In Volume register
"VideoVolume"=dword:0808 ; AC97 Video In Volume register
"PhoneVolume"=dword:0808 ; AC97 Phone Volume register
"LineInVolume"=dword:0808 ; AC97 Line In Volume register
"MicVolume"=dword:8048 ; AC97 Mic In Volume register
"AuxVolume"=dword:0808 ; AC97 Aus In Volume register
"DigitalVolume"=dword:0606 ; AC97 PCM Out Volume register
"RecordGain"=dword:0A0A ; AC97 Record Gain register

"SoftSampleRate"=dword:AC44 ; Software mixer sampling rate
; This is the data sampling rate at
; which s/w mixer sends to VT3058
; 2B11: 11025Hz
; 5622: 22050Hz
; AC44: 44100Hz

"SoftBufferSize"=dword:1000 ; Software mixer buffer size
; Recommended buffer size setting for
; each sampling rate,
; 1000: for 11025Hz
; 1000: for 22050Hz
; 1000: for 44100Hz

; "EnableDigitalOut"=dword:1 ; 0: Disable S/PIDIF
; 1: Enble S/PIDIF
; Mark off to control by mixer.

;Registry Version
; "REGVER" subkey could be used by OEM's for version control of the
; registry settings. It could be ignored if not needed.
"REGVER"="1.311-0001"

ENDIF BSP_WAVEDEV_UAM3058
; @CESYSGEN ENDIF
; @CESYSGEN ENDIF
; @CESYSGEN ENDIF
; @CESYSGEN ENDIF


I can build OS images with this .reg file and get no errors. Why does
Export Wizard care about the contents of this file and ignore other,
more glaring problems (like missing files)? Which line(s) cause the
error?



callmekw@hotmail.com (kw) wrote in message news:<bf1fb939.0410051206.7f92ca1@posting.google.com>...
> I now have more information and am posting an addendum to my last post
> in case anyone is monitoring the thread...
>
> I have just discovered and validated something very interesting.
>
> Using the example from my last post regarding the "Audio" entry in the
> .cec file, I did the following:
>
> -> Using Windows Explorer, I went to the directory that contained the
> UAM3058.pbpxml file and made a copy of it. The copy was named "Copy
> of UAM3058.pbpxml" by default.
>
> -> I renamed the new file "test.pbpxml"
>
> -> I then edited my MyBSP.cec file by changing the pbpxml filename in
> the BuildMethod section accordingly.
>
> -> I tried the Export Wizard again and Viola!, it worked.
>
> This makes absolutely no sense to me. I only know it works. I'm sure
> this is a feature and I'm just not nuanced enough to appreciate it.
> Can someone from MS look at this and provide an explanation???
>
>

Re: CE 5.0 - Export Wizard Bug? by christopherle

christopherle
Thu Nov 04 19:04:39 CST 2004

Hi, sorry you haven't gotten a response until now. Are you still repro'ing?

First of all, I couldn't get the Export Wizard to repro. I had cloned the
CEPC BSP and then copied/pasted your ComponentType snippets into the .cec
file. I was able to generate the .msi for both cases.

Looking at your example, I'm guessing your .pbpxml files belonged to
drivers that were included in the 3rd Party Solutions CD that shipped with
PB. Is that true? If so, then those drivers were the same ones I tried.

Question for you: During your repro cases, after selecting your .cec file,
did the Export Wizard's Step 3 dialog list the driver's .pbpxml file as
well as the other BSP-related source code directories?

Please follow up with me directly and I'll be glad to investigate further
with you. (cleATmicrosoft).

Thanks.


Re: CE 5.0 - Export Wizard Bug? by KW

KW
Tue Nov 09 16:55:02 CST 2004


This issue has been resolved as far as I'm concerned. I ended up paying for
a support incident to resolve the problem so I could move forward with my
development efforts. I could not wait around for a response in this forum.
The problem was identified as a bug and the fee was refunded.

The Export Wizard and Build System have differing opinions about what is
acceptable when it comes to the contents of sources files. The Build System
is forgiving. The Export Wizard is not. If a sources file contains a
reference to a seemingly insignificant file, ReadMe.txt in my case, it _has_
to be there. Otherwise, Export Wizard will fail without giving you any
useful clues about the cause of the failure. Unlike the Build System, Export
Wizard does not produce any log files (that I'm aware of) to allow you to
trace the cause of the failure. The Build System will simply ignore the
reference to the missing file, move on and complete normally.

So far, the problem is my bad. But here's the kicker. If Export Wizard
fails to complete normally for any reason, it will continue to fail even if
the problem is resolved, until you restart Platform Builder. A PB restart is
required to clear the error condition. I could have spent an eternity trying
different things to fix my problem without discovering this fact. I may have
actually fixed my own problem at one point without knowing it because I never
bothered to restart PB. Arrrgh!

I do commend MS tech support for finding the problem promptly, accepting
responsibility for the PB bug and then refunding the support fee. Avkash is
my hero.

"Christopher Le [MS]" wrote:

> Hi, sorry you haven't gotten a response until now. Are you still repro'ing?
>
> First of all, I couldn't get the Export Wizard to repro. I had cloned the
> CEPC BSP and then copied/pasted your ComponentType snippets into the .cec
> file. I was able to generate the .msi for both cases.
>
> Looking at your example, I'm guessing your .pbpxml files belonged to
> drivers that were included in the 3rd Party Solutions CD that shipped with
> PB. Is that true? If so, then those drivers were the same ones I tried.
>
> Question for you: During your repro cases, after selecting your .cec file,
> did the Export Wizard's Step 3 dialog list the driver's .pbpxml file as
> well as the other BSP-related source code directories?
>
> Please follow up with me directly and I'll be glad to investigate further
> with you. (cleATmicrosoft).
>
> Thanks.
>
>

Re: CE 5.0 - Export Wizard Bug? by christopherle

christopherle
Tue Nov 09 17:56:28 CST 2004

I'm sorry you had to suffer like that, but I'm glad you got past it. We'll
definitely work on improving the Export Wizard and make it clearer as to
any failures. Thanks for your valuable input.