Could I create a MFC DLL for Metro apps to use? - dll

I've post this question on MSDN (http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/9da1b0e4-6a03-41b2-b68e-6fefb4729c52). If it is considered as duplicated question, please remind me to delete it. Thanks.
I am using VS2012 pro on Win8 Pro. I encountered an issue and needs your help:
Let me simplify the scenario: Metro App (JavaScript) calls DLL1(a Windows Runtime Component), and DLL1 calls DLL2(a MFC DLL).
After I created a MFC DLL, then from "Configuration Properties", I changed the "use of MFC" as "Use Standard Windows Libraries", and changed "Windows Store App Support" as "Yes". But My Metro App always said that "0x8007007e - JavaScript runtime error: The specified module could not be found." After debugging, I found that the error is caused by DLL2. But I don't know why it is caused.
Does anybody know anything about this? Or would you please give me some hint?
Thank you all.

I think it is necessary to add my solution: I must manually add the external dependent dll (not the system dll but built by yourself or others) into my js project by "added as link". Thus the issue could be resolved. If any encounter the same issue, please write to me and let's discuss it. Thanks.

Related

MISSING: Active setup control Library

I'm trying to load an existing vb6 project but I'm getting the "Object Library not registered" pop up as I load and then when I build the project I'm getting "MISSING: Active setup control Library". This is even preventing me from using the Format() method. Please provide some insite on correcting this. Thanks.
It in Asctrls.ocx shipped with IE4 at least. It's not in Vista or VB6.

MonoDevelop - Bug with SmartAssembly

I have my dlls (.NET4) build with msbuild and obfuscated with SmartAssembly 5.5.
After that i set them with reference for simple console application in the MonoDevelop (latest) on Mac (10.8).
Built ok, but when i ran that simple app, i have a message:
Unknown heap type: SmartAssembly
I asked SA support but no luck yet (the saproj have item blabla(supports Mono) checked.
I dont see how to attach a screenshot, but, when i run my application i see in the console that message twice. It appears before program stops on the breakpoint on the first line of code.
So maybe someone knows what to change in SmartAssembly or in MonoDevelop to remove this problem ? Thanks
Many .NET obfuscators change the assemblies such that they are not technically correct assemblies (they fall outside the .NET assembly specs) but such that they still run on the Microsoft .NET runtime by exploiting bugs specific to Microsoft's implementation. I suspect they do this to make it harder for assembly reader tools/libraries to load the assemblies. Unfortunately, this also prevents Mono runtime from loading the assemblies. In general Mono has a policy of not "fixing" support for this kind of invalid obfuscated code, so you'll need to ask SmartAssembly support for help.
If you're certain you're compiling with SmartAssembly's "Strictly valid" option and it's not working, perhaps you could perhaps try their "Basic" option.

What does "Predefined type 'System.TypedReference' is not defined or imported" mean on Metro project?

I am currently converting a library to be a Metro library for Windows 8. I've created a brand new project in Visual Studio 2012 using the "Class Library (Windows Store apps)" C# Template. I've been adding a lot of files and working through the compile errors, but the one that's confusing me is:
Error 2 Predefined type 'System.TypedReference' is not defined or
imported CSC MyNewProject
The "CSC" appears under the "File" column. Double-clicking the error does nothing. Googling only gives me this:
Do not specify the /nostdlib option from the command line compiler.
Make sure that the project refers to the correct mscorlib.dll.
Reinstall the .NET Framework common language runtime (if the previous
solutions do not solve the problem).
(source http://msdn.microsoft.com/en-us/library/f5c3ehka.aspx)
I'm not using a command line compiler, I don't know how to include or exclude mscorlib - because unlike previous .NET apps in Visual Studio, the only thing my project references is ".NET for Windows Store apps" and "Windows" (something I'm still getting used to).
Any thoughts/advise on this?
That Object is not available or has been relocated for the new ARM .NET architecture.
Here is the Full API for you to search, I would of searched for it, but it is missing a search func.
http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx
For anyone else who encounters this, I experienced this while I was converting a project to run on metro. I continued to fix other issues (at the time this was one of hundreds of errors) and eventually this just simply disappeared. My plan was to eventually compare this to a new metro project in a text editor once I fixed all the other errors, but it solved itself before that could happen.

Autodesk Inventor Add-In does not load

I have Autodesk Inventor 2012 and its SDK, including add-in creation wizards, installed. I have created an add-in project (in VB.NET), and used the code from SimpleAddIn sample provided. .addin file points to the location of dll output of the compilation.
However, i have run into a following problem. When Inventor loads, not a single breakpoint in the add-in Activate function is triggered. Moreover, when i call the list of add-ins, mine is shown in the list as not loaded, and however i flag it to be, it does not.
What could be the reason for this behaviour? How can that be fixed?
Well, I assume that you're using RegistryFreeAddins being deployed via Manifests...
From the fact that your AddIn is listed in the AddIn Manager, I conclude that the registration works, but the loading at runtime fails. This can have those main reasons:
Missing Dependencies (in case you use third party assembiles)
BadImageFormatException (your AddIn compiled in x86 and you have X64
Inventor installed, which you always have in case you've got a 64-bit
OS)
Have a look at your debug output in VisualStudio. Do you see any Exception Messages, that would relate to your AddIn? If not, you could try to activate the "Managed Debugging Assistants" in VS (especially for BadImageFormat- and FileNotFoundException(s)). Just google the above phrase to see how it's done.
Hope I could help :)
Are you targeting .Net 4? Inventor 2012 supports only .net 3.5 it seems. I ran into the same problem and changing to 3.5 made my plugin load correctly.
http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Registry-free-addin-won-t-load/td-p/3488178
if for a reason or another, the library load crash in the Activate procedure, you will not be able to debug the solution.
So, clean the Activate sub and keep only necessary calls and try again.
If it's still not working, just PM me the Activate procedure and I'll help you.

What does "Invalid parameter error. 0x80030057 (STG_E_INVALIDPARAMETER)" usually mean?

I came across the COM error:
Invalid parameter error. HRESULT 0x80030057 (STG_E_INVALIDPARAMETER)
when dealing with an Excel interop component called Aspose and couldn't figure out why this error when opening an Excel file. Nor could I find anything here on Stack Overflow so it MUST be asked:
What is the most common cause of this error (in any printed representation) from some black-box COM component?
I will also post what caused my error when SO allows me to!
In my case the cause was that I had targeted my C#.NET app that was interacting with a wrapped COM component (Aspose Excel 2.9.2) to run on "any CPU" platform. This is no good as the DLL was compiled explicitly for 32-bit platforms only. So my C#.NET app had to be platform targeted explicitly to "x86".
I'm not sure if this would be the most common though, but it's a pretty well obscured problem for that error message.
Aspose file format products are not COM components. They're fully managed .NET assemblies. Could you please share which component caused this problem. Also, share the version number of the component you're using. I would also like to share that all the Aspose components work on 32-bit and 64-bit systems seamlessly. Also, they do not require MS Office to be installed on your development or deployment machines. Moreover, they do not use COM interop.
Please share some more details regarding your issue. You can also post your query along with all the details in our support forums, so that our team would be able to investigate your issue in detail.
Disclosure: I work as a developer evangelist at Aspose.