Summary
Warning -4354: The build was unable to extract COM information from the file [1] in component [2]. Please ensure that the file is self-registering and verify that the self-registration process does not failSymptoms
When building an InstallShield project, the following error may occur:
"Warning -4354: The build was unable to extract COM information from the file [1] in component [2]. Please ensure that the file is self-registering and verify that the self-registration process does not fail."
[1] is a placeholder that contains the specific filename that the build is attempting to extract COM information from, while [2] is the component name that contains this file.
Cause
This warning message occurs when the key file specified in the message cannot be registered, and the component containing that file has the property "COM Extract at Build" set to "Yes". A file can fail to register for any of the following reasons:
- The file is not a self-registering file.
- The file is self-registering, but its dependent files are not present.
- The file is self-registering, the dependent files are present, but the dependent files are not registered properly.
Resolution
- If the file is not a self-registering file, follow these steps to mark it as such:
- Select the Components view.
- Highlight the component in the center column that was specified in the warning message.
- In the right panel, set the "COM Extract at Build" property to a value of "No".
- Expand the component in the tree to show the Files view beneath and select it.
- In the right panel, right-click on the file specified in the warning message and choose Properties.
- Make sure the Self Register check box is clear.
- Rebuild the project.
The above steps ensure this file is not marked as self-registering and not marked to extract COM information at build time. The setup copies the file to the target machine at install time and attempts to register it.
- Select the Components view.
- If the file is self-registering, but its dependent files are not present on the build machine, follow these steps outlined in the following help article: Identifying Application Dependencies
Once the dependencies are identified, make sure they are present on your build machine and registered properly.
Once all dependent files are present and registered properly, rebuild the project to resolve this build warning.
- If all dependent files are present on the build machine, make sure they are all registered properly.
Once all dependent files are registered properly, rebuild the project to resolve this build warning.
Additional Information
Additional information on COM registration can be found in the Help Library topic Extracting COM Information from a COM Server.
This error is briefly documented in the Help Library topic Build Errors and Warnings.
Related Articles
Build Warning 4354 3Number of Views Build Warning -4354 3Number of Views Build Warning -7235 5Number of Views Build Warning "invalid entry size (expected <size> but got <size> bytes)" 8Number of Views Build Warning 6220 3Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Revenera Assistant
Case id: 00001065
Activity: Status change: 2 hours ago