|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Is this a bug?Here is a scenario using VS.NET 2003 CAB deployment solution: Step 1: Open new instance of VS.NET. Step 2: File -> New -> Project (Shift + CTRL + N) Step 3: Select the "Setup and Deployment Projects" folder Step 4: Click on the "Cab Project" icon (file cabinet image) Step 5: Click OK Step 6: In Solution Explorer ( View -> Solution Explorer (CTRL + Alt + L) ) right-click and select Add->File... Step 7: Browse to any of your ActiveX controls, select, then click Open Step 8: Build->Solution (CTRL+Shift+B) Now open the CAB file by browsing to it in the Debug or Release folder under the project folder. Drag-and drop the OSD<randomInteger>.osd to your desktop or anywhere else. Open it with Notepad (Start->Run-> "notepad " + drag-and-drop the OSD<randomInteger>.osd and click OK) The auto-generated Open Software Document (OSD) is garbage. If you tried to use the cab it will throw an exception of any type. Here is what my OSD looks like when auto-generated: -------------------------------------------------------------------------------- <?XML version="1.0" ENCODING='UTF-8'?> <!DOCTYPE SOFTPKG SYSTEM "http://www.microsoft.com/standards/osd/osd.dtd"> <?XML::namespace href="http://www.microsoft.com/standards/osd/msicd.dtd" as="MSICD"?> <SOFTPKG NAME="Cab1" VERSION="1,0,0,0"> <TITLE> Cab1 </TITLE> <MSICD::NATIVECODE> <CODE NAME="VideoMedia"> <IMPLEMENTATION> <CODEBASE FILENAME="VideoMedia.ocx"> </CODEBASE> </IMPLEMENTATION> </CODE> </MSICD::NATIVECODE> </SOFTPKG> -------------------------------------------------------------------------------- The actual OSD should resemble something like this: -------------------------------------------------------------------------------- <?XML version="1.0" ENCODING='UTF-8'?> <!DOCTYPE SOFTPKG SYSTEM "http://www.microsoft.com/standards/osd/osd.dtd"> <?XML::namespace href="http://www.microsoft.com/standards/osd/msicd.dtd" as="MSICD"?> <SOFTPKG NAME="{1B1DCB17-4041-41FB-AEBC-B58882511838}" VERSION="1,0,0,2" STYLE="MSICD"> <TITLE>VideoMedia version 1,2,0,1</TITLE> <MSICD::NATIVECODE> <CODE CLASSID="{1B1DCB17-4041-41FB-AEBC-B58882511838}" NAME="VideoMedia.ocx" VERSION="1,2,0,1"> <IMPLEMENTATION> <PROCESSOR VALUE="x86" /> <CODEBASE FILENAME="VideoMedia.ocx" /> </IMPLEMENTATION> </CODE> </MSICD::NATIVECODE> </SOFTPKG> -------------------------------------------------------------------------------- There is no way to tell the project or the solution to not generate this *.osd file. Nor is there a way to edit it to make reflective changes without having the compiler auto-generate the precedent. This makes it impossible to use this approach to create a cabinet file. Does anyone here know about this? Could there possibly be a way to tell the solution not to create the *.osd file when packaging the cabinet file? Or perhaps is there a way to edit/create an *.osd file so that it will not be auto-generated? Once auto-generated it will break your cab! So I figured this product should have NEVER made it to VS.NET as it is a show stopper BUG! Yama Kamyar |
|||||||||||||||||||||||