DOCUMENT:Q193174 28-SEP-1998 [vbwin] TITLE :PRB: "Filename Must Contain Text" Error When Packaging Project PRODUCT :Microsoft Visual Basic for Windows PROD/VER:WINDOWS:6.0 OPER/SYS:WINDOWS KEYWORDS: ====================================================================== --------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual Basic Professional and Enterprise Editions for Windows, version 6.0 --------------------------------------------------------------------- SYMPTOMS ======== When attempting to use the Package and Deployment Wizard (PDW) to package an ActiveX DLL/EXE project, the following error is received: Filename must contain text This occurs when the ActiveX DLL/EXE project is part of a project group that contains and references a UserControl project, and the projects are saved before being compiled. CAUSE ===== The PDW reads all of the objects and references out of the VBP file. When you compile the control only after saving both the ActiveX Control project and the ActiveX DLL/EXE project, the latter's VBP does not reflect the current state of the referenced control and is therefore invalid. When you open the VBP in Notepad, you will note that the reference to the control appears to be: Object=*\A[Name of Control Project].vbp However, if you choose to save the projects, the correct reference is saved: Object={GUID}#version#version; [Name of Control Project].ocx When the PDW fails to parse correctly in the first case, it tries to add a file named "" to make up for the name of the compiled OCX, which results in the above error. RESOLUTION ========== To update the VBP file with correct references, save both projects before using the PDW to package them. STATUS ====== This behavior is by design. MORE INFORMATION ================ Steps to Reproduce Behavior --------------------------- 1. Create a new ActiveX DLL in Visual Basic. Class1 is created by default. 2. In Project Explorer, right-click on Class1 and select Remove Class1. 3. Add a User Document (UserDocument1) to Project1. 4. Add an ActiveX Control project (Project2). UserControl1 is created by default. 5. Close the designer of UserControl1. The control becomes visible in the toolbar. Place an instance of the control on UserDocument1 of Project1. 6. Save the projects in the project group by selecting Save Project Group under File. Accept the default location suggested by Visual Basic. 7. Click on Project2 and select Make Project2.ocx under File. 8. Click on Project1 and select Make Project1.dll under File. 9. Select Add-In Manager under Add-Ins and check Package and Deployment Wizard (PDW) to load it. 10. Select Project1 and start the PDW by selecting it from the Add-Ins menu. 11. Choose No when asked to save the projects before packaging, and then Select Package. Note that the following error occurs and further attempts to package the project results in the same error: "Filename must contain text" Additional query words: kbdss kbDSupport kbVBp kbVBp600 kbWizard kbAppSetup ====================================================================== Version : WINDOWS:6.0 Platform : WINDOWS Issue type : kbprb ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1998.