Outlook 2013 detected a slow addin - c#-4.0

I developed an Addin which consists of Login and the data entry and retrieval functionality. The data entry and retrieval are accessed through REST URL's. The Outlook Startup doesnt has any code, except it checks the outlook version. I implement a plain form which show the user "loading message" initially and the rest of the logic will be handled by a thread. So i hope everything is followed according to the performance, but still i am receiving an addon error as "Outlook Detected an Addin Problem" The Add-in caused outlook to start slowly. I am able to overcome this problem and more and more i am able to get the time statistics for application start or shutdown events. couldany help me how do i resolve this?

Are you trying your AddIn in a debug mode or through an installer ?
First of all, make sure that it has been disabled because it is slow and not because it has errors.
If it has errors, it will cause Outlook to work slowly or even crash.
If it just working slowly, you can try to optimize your AddIn, go through your code again and see what you can do again in a less performance consuming way.
One other thing you can do is, when you will create a setup project for your AddIn to run an installer (instead of debug), you can set your Load Behavior to 16 in the registry.
This will cause the AddIn to load at Outlook startup on the first time after installation and to load on demand the other times. (Load on demand means when the user clicks on the AddIn icon).
This way, your AddIn won't slow Outlook down, except for the first time.

Related

Startup behavior doesn't work in Excel Desktop

I have an OfficeJS Excel Addin which is used in Online Excel and Desktop Excel. I use feature
Office.addin.setStartupBehavior(Office.StartupBehavior.load);
And it work fine for Online Excel: every time I start the excel - the plugin loads in background and ready to use.
However, in Excel Desktop it doesn't work. If I "alert" current behavior (after click on command to run the addin), it says "Load", but anyway it expects user interaction before to start loading the addin.
Any thoughts on this?
Prerequisites: SharedRuntime, Windows 10, Angular based addin
link to doc: https://learn.microsoft.com/en-us/office/dev/add-ins/develop/run-code-on-document-open
You can configure your Office Add-in to load and run code as soon as the document is opened. This is useful if you need to register event handlers, pre-load data for the task pane, synchronize UI, or perform other tasks before the add-in is visible. When your add-in is configured to load on document open, it will run immediately. The Office.initialize event handler will be called. Place your startup code in the Office.initialize or Office.onReady event handler. Read more about that in the Run code in your Office Add-in when the document opens article.

Reset office application state on start

I use squish for testing and it doesn't close the tested application correct always.
In that case office (Word, Excel, PowerPoint) starts with some recovery options (previous documents getting restored, some dialog windows appear, etc) I need to reset the status of the application before the start of new test.
Isn't it better to close the Office application properly?
For example, you could automate Office application using Automation. The recovery options mean the host application was not closed gracefully or something unexpected happened with it (crash?). So, I'd recommend asking squish developers what is wrong with their software other than looking for a workaround to suppress evidences.

Excel stops running protected workbook, runs fine if unlocking it

I have a tool, which uses VBA.
As the tool has company secrets, the project is password protected to avoid the info getting into the wrong hands (to some extent). Therefore, as soon as anyone wants to "view code", they have to put in the password.
The tool has a simple GUI, which just loads values from various worksheets and displays them with simple VBA controls.
In some version updates of the tool, excel stops running when trying to load the GUI. No error codes are displayed. In others, work just fine. I don't know what causes this. The updates are simple changes to formulas, updating of price structuring and the like.
If i put in the password before loading the GUI, it works just fine. This, however, is not a good workaround if i want to deploy the tool to anyone who is not authorized to view the internal info.
Any ideas how to debug this issue?
Windows 10 64-bit
Excel 365
Dell Latitude PC

MS Excel VBA Reading Outlook Calendar Items Very Slowly

I'm in the process of writing code to pull my own Outlook calendar, as well as some shared calendars into an MS Excel spreadsheet. However, I'm finding that my script is running very slowly. I've found that it takes about 1-2 minutes to load a months worth of events from my own calendar and about 10-20 minutes to load events from the same time period from a shared calendar.
I've noticed that my script can load my personal calendar both when I'm on and offline. However, I will get a run-time error at the when I call ".GetSharedDefaultFolder" if I am not connected to the internet. In addition, if I disconnect my internet while looping through items in a shared calendar, I will also get a run-time error. My best guess at the moment is that the majority of my speed issues are due to the fact that Outlook is checking the exchange server for each item, one at a time (I'm pretty sure this is happening).
Does anybody have a good idea of how to solve this problem? I'd like to speed up my code so it doesn't take ~45 minutes to run my script. I have a hard time believing that Outlook does not store the most recent version of a shared calendar on my laptop. I also don't see why I shouldn't be able to call some function to download the entire calendar and then loop through the items without needing to separately request each item from the server.
Thanks!
I actually managed to fix the problem by enabling the "Download shared folders" property in MS Outlook. This reduced program execution time from 45 minutes down to 7 minutes.
Directions on how to enable the "Download shared folders" property:
http://www.msoutlook.info/question/414
Note: To find the Account Settings button in Outlook 2013, you have to navigate to the "File" menu.

Excel OLE - .NET COM AddIn behaves differently when Excel is embedded in an application

I have a .NET (C#) addin that uses a COM Shim dll to load itself into Excel. The addin works fine without any problem when Excel is run normally. The addin displays its own custom toolbar in Excel that is used to execute different commands.
When I embed Excel into another application (e.g. DSOFramer etc), the addin starts behaving strangely. It seems that if I disable a button on its toolbar then it does not get enabled again after setting the Visible property.
Also, I get a bunch of "Object reference not set" errors because the Application::Selection object is NULL which never happens when Excel is running normally. Sometimes I also get permission errors when Application::GetAddIns() method is called.
I am not sure what is happening here and I could not find an articles that explains the behavior of Excel COM Addins when Excel is embedded inside other application.
I have to admit I don't know much about dSOFramer, but I did run across the following items. I don't know if these help at all.
link text
link text
I contacted Microsoft Professional for this issue and found out that Microsoft now discourages embedding office applications. I was suggested to either stop embedding Excel into the application OR use only Excel 2007 that has a Ribbon UI. According to MS, the Ribbon UI does not have these issues.
The problem with the CommandBars is that the negotiation only happens during the OnConnection and no changes can be made afterwards.

Resources