I need to play a PowerPoint presentation embedded as an asset in a windows store app.
I downloaded the Visual Studio Tools for Visual Studio 2012 and tried to use the old school Microsoft.Office.Interop.PowerPoint package but I stumbled upon the following error:
Creating an instance of the COM component with CLSID
{91493441-5A91-11CF-8700-00AA0060263B} using CoCreateInstanceFromApp
failed due to the following error: 80040154 Class not registered
(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Please
make sure your COM object is in the allowed list of
CoCreateInstanceFromApp
So it seems that windows store apps cannot call these types of COM objects.
http://msdn.microsoft.com/en-us/library/windows/apps/br205757.aspx
Is there any API available for windows store apps to show a pptx?
Thank you.
No, there is currently no API to show a pptx within a Windows Store app.
Some workarounds might be:
Launch the pptx in PowerPoint (outside of your Windows Store app) from your app. Here is how to launch the default app for a file (PowerPoint is the default app for a .pptx).
Convert the pptx slides to images (either beforehand if this is a static PowerPoint deck you are showing, or call a webservice that can do this if you need to support receiving and displaying new PowerPoint decks)
Related
I am facing very odd problem here.
I have a VB.NET application where I am using Native (VB6) COM Component with side by side assembly. (using exe manifest file)
All is working fine if I uncheck "Enable application framework" in project settings. Application is working fine on Windows 2003 with side-by-side COM (no need to register dll).
But if I enable application framework then one of my old server Windows 2003 is not able to loading the application because it is not able to find "Microsoft.Windows.Common-controls" version 6.
My question is what does "Enable application framework" do? I am not able to get much information about how does it changes assembly reference in the application?
An MDIForm application that works perfectly in several computers doesn't work in new ones. I'm not 100% sure but I think it's built on Visual Basic 6.
The application works while you have only one form, the problem is when you open several forms. Then it gives the following message:
Error 7 during execution time: not enough memory
This application is very old, so I don't have the source code and there's no way to contact the programmer. It has a small installation program, so if the application is working in other computers and it doesn't in new ones, maybe one of the libraries it installs is corrupt. What I need is to locate which library is giving me problems and download it, to check if the problem is solved.
There are several dll and ocx files in a cabinet, which is a lossless compression file for Windows. I'm searching for all files on Google, here's the list:
Note: removed those that weren't even present in a computer where the application works, added them at the end of the message
COMCAT.DLL -> module associated with Microsoft(R) Windows NT(R) Operating System
oleaut32.dll -> library which contains core OLE functions
RICHED32.DLL -> module containing functions for the Rich Text Edit control
stdole2.tlb -> defines certain interfaces and type you can use
Do you know what could be happening? Thank you for your time.
Regards,
David
edit 1: added all searches. I'm trying a "sfc /scannow" in a new computer to check if it's magically solved, but I don't think so. Any ideas? Any help will be greatly appreciated
edit 2: sfc /scannow found problems, but the application still doesn't work. I'm trying now to install it in a virtual machine with Virtual Box and Windows XP, but I always get the the same error.
edit 3: I tried to use the installer to override the DLLs in a computer where the application worked. Well, the application still works like a charm, so now I'm completely lost and I don't know what else I can do. I tried to install the last .NET in a computer where the application didn't work, it still doesn't. It would make no sense if it worked after that, but I had no idea what to try now.
edit: rest of files that aren't even present in a computer where the application works:
asycfilt.dll -> module used by Microsoft OLE (Object Linking and Embedding)
CMDLGES.DLL -> DLL file created by Microsoft Corporation
comdlg32.ocx -> used for showing common dialogs like open or save
cpvCoolList.ocx -> no idea, maybe it's a rich list box or something
DAO350.DLL -> module associated with Microsoft® Jet
DiCtrlTransp.ocx -> no idea
expsrv.dll -> file that contains functions to work with VBA Run-time - Expression Service
FLXGDES.DLL -> used by MSFlexGrid created by Microsoft Corporation
FM20.DLL -> module providing applications with functions to create forms
MDAC_TYP.EXE -> process associated with Microsoft(R) Windows (R) 2000 Operating System
msado21.tlb -> Microsoft ActiveX Data Objects Library
MSCC2ES.DLL -> module associated with MSCANDUI Server DLL from Microsoft
MSCMCES.DLL -> ActiveX Windows Common Controls
mscomct2.ocx -> ActiveX control module that contains common controls used by Windows, such as Animation, UpDown, MonthView, DTPicker, and FlatScrollBar controls
mscomctl.ocx -> ActiveX Control module that contains common controls used by Windows, such as ImageCombo, ImageList, ListView, ProgressBar, Slider, StatusBar, TabStrip, ToolBar, and TreeView controls
msflxgrd.ocx -> Microsoft FlexGrid Control
MSJET35.DLL -> main component of the Microsoft Jet database engine which evaluates and carries out requests for data. The file handles reading and writing of the data for Microsoft Access databases. For non-native data, then the file makes calls to either the ODBC Driver Manager DLL or one of the external installable ISAM DLLs
MSJINT35.DLL -> no idea
MSJTER35.DLL -> module required by the Microsoft Jet Engine to operate correctly. The file provides error service for the Microsoft Jet database engine
MSRD2X35.DLL -> no idea
MSREPL35.DLL -> module used by the Microsoft Internet Ratings and Local User Management
msvbvm60.dll -> module for the Microsoft Visual Basic virtual machine
MSVCRT40.DLL -> module containing standard C library functions such as printf, memcpy, and cos. It is a part of the Microsoft C Runtime Library
olepro32.dll -> library which contains core OLE functions
Photo.ocx -> module belonging to Facebook Photo Uploader 4 from The Facebook
RCHTXES.DLL -> part of RichText control. Is ES for "Español" or Spanish?
RICHTX32.OCX -> module for the Microsoft Rich Text OLE Control and provides advanced editing capability for the TextBox object
ST6UNST.EXE -> process associated with Microsoft® Visual Basic for Windows from Microsoft Corporation
TABCTES.DLL -> module belonging to "Biblioteca de objetos" (objects library) TabCtl32 from Microsoft
TABCTL32.OCX -> ActiveX control module which contains SSTab control used for Tabbed Dialog Control
VB5DB.DLL -> Visual Basic ICursor Interface Library
VB6ES.DLL -> DLL file used by "Recursos internacionales del entorno Visual Basic" (Visual Basicl environment international resources) created by Microsoft Corporation
VB6STKIT.DLL -> module that contains application programming interface (API) functions that enable Visual Basic applications to create shortcuts (Shell Links) programmatically
vbajet32.dll -> module that contains application programming interface (API) functions to load the Visual Basic for Applications development environment
After checking all programs installed in a computer where the application works I realized I don't have installed Office 2003. Even I thought it made no sense I tried to install it and now... the application works. How can this be possible? Anyone knows what could be happening? Is there any log I could check to see what changed?
Anyway it works now, thanks everyone for reading me.
I am developing application in vb.net. please help me how to add a flash file in my application.
Found this on Google searching for "windows .net flash control." I looked for the COM reference as specified in the article using Visual Studio 2010 and was able to add it to a test application very quickly.
http://weblogs.asp.net/twalters/archive/2003/12/29/46265.aspx
I know that there are millions of posts about this already but I cant seem to find one that mirrors my issue.
I am using VS2010 and want to automate excel and I'm trying to work through the example here.
MS Tutorial
The problem is when I go to add the reference as mentioned
3.Add a reference to the Microsoft Excel Object Library. To do this, follow these steps: •On the Project menu, click Add Reference.
•On the COM tab, locate Microsoft Excel Object Library, and click Select.
There is no such reference available.
Could someone please let me know if this is the right way to automate excel with VS2010.
If it is could someone please let me know why I dont have the COM option for excel.
Im wanting to write in VB.net but if someone has an example in C# that would be fine.
Kind Regards
Ash
I have tried implementing automation using the Microsoft.Office.Interop.Excel.Application dll but i get the following exception when I try to create the excel application.
This line generates the error.
EXL = New Microsoft.Office.Interop.Excel.Application()
This is the exception
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
If you have Office 2010 installed on your machine but still don't see it in the COM tab then there are reasonable odds that you have the 64-bit version of Office installed. Visual Studio is a 32-bit program, it cannot see the registry entries for 64-bit COM servers.
Workarounds are to use the primary interop assembly, it ought to be installed on your machine. Use the .NET tab and select Microsoft.Office.Interop.Excel. Next option is to import the type library directly. Use the Browse tab and navigate to c:\program files\microsoft office\office14 and select excel.exe. Set the Copy Local property of the added references to True to avoid having to deploy the PIA to the target machine.
Also be sure that your app can run as a 64-bit process. In vb.net that's selected with Project + Properties, Compile tab, scroll down, Advanced Compile Options, set Target CPU to "AnyCPU".
I have a Visual Basic DLL, I used it in a Windows User Control Application. It works fine, but when I HOST this Windows User Control in another Windows Forms application, it gives me the following error.
An error occurred creating the form. See Exception.InnerException for details. The error is: Creating an instance of the COM component with CLSID {66DF4F1A-E3E2-43D3-92BC-D56E9DDCB8AC} from the IClassFactory failed due to the following error: 800a005b.
When I run the User Control it works fine with me, ONLY when I host it in another Windows application this error occurs.
I'm using Visual Studio 2008 & Windows Server 2003
when I add the User Control, the DLL path is "C:\Documents and Settings\USERNAME\My Documents\Visual Studio 2008\Projects\HMS_WF4\HMS_WF4\obj\Release\Interop.DLLNAME.dll"
Notes. it's in Release, but when I compile the application it puts the output in the Debug folder. Even if I select the Release folder for debugging and compilation, when the application is run, it searches for the DLL in the Release folder, but it's in the Debug folder.
I get it....
When I host the User Control in a Windows Forms application, it initialize objects from the User Control objects in Form1.Designer.vb. Like Me.FrmTransactions31.TransHdr = CTransHdrClass2.
I just replaced CTransHdrClass2 with Nothing
Thanks for all.