outlook security in asp.net webpage - vba

I used http://www.everythingaccess.com/tutorials.asp?ID=Outlook-Send-E-mail-Without-Security-Warning , to finish my first ms access vba app that sends multiple notifications via outlook, without security pop-up. Now I want to make a WEB BASED version of it. So, using asp.net & mysql instead of vba & access raises certain questions.
When I comes down to it, what would be the difference of using (will post link below) vs installing VSTO runtime to run the outlook module I allready used in my first link?
Would you consider the "add-in" a more robust, integrated, easy approach since it seems I'd otherwise need to put the module of my first link in each users outlook install or am I just completely mistaken or is it a combination of both, please explain...

Click below for
2nd link of first post , outlook addin

Related

Outlook add-in which uses another add-in

I have old outlook add-in (COM/VSTO). And I have new one with office.js.
Is it possible to use old one from new one?
Basically I want to imitate left click action on old plugin from new plugin code.
Thank you
Office.js API doesn't have functionality to directly communicate to the COM/VSTO technology add-ins. You may share certain message data and/or user properties as described at How to share user roaming settings between Outlook COM/VSTO and Office JS Add-in, but nothing more.
If you have strong business case and this is something you would like to see in upcoming Office.js releases, you may post your suggestion at officespdev.uservoice.com

"Sideload" an App for Office programatically on the Desktop

I'm not sure whether "sideloading" is the correct term: Is therea an API to programatically install an Office Javascript API based add-in (e.g. a Task Pane app) in to the current / specific document on the desktop (at least on Windows)?
VisualStudio does this when you debug an App for Office project. How do I go about achieving the same?
There is no current way to programmatically insert an app (now "Office Add-in") into a document via JavaScript. It is a scenario that the product group is aware of, but it's not something we have yet.
You can insert an it via the Open XML SDK (which is actually how Visual Studio does this), but that would be .NET code running outside of the Office add-in (and not on the currently open document). Visual Studio in particular is atually inserting an app registered into the special local registry-based "Developer Store", but I can't think of any reason why wouldn't work for an actual Office-Store or SharePoint App Catalog-hosted app. If you are interested in going this route, let me know, and I might be able to find some pointers on the code you'd need to write.
Finally (though it probably goes without saying), you can insert an app into a Template, rather than a regular document. That way, anyone creating a document from that template would get your add-in -- I believe that's what the Paypal Invoicing add-in in Excel does, for example.
Hope this helps,
~ Michael Zlatkovsky, Developer on Office Extensibility team, MSFT

GetUserAvailability from Exchange from a COM Outlook addin

I have a COM Outlook addin programmed in C++ (VS2005). I'm trying to see if within this addin I can get a random user or resource and see if it is available during a certain meeting time. Basically I'm trying to do something like getuseravailability() from the 2007 Exchange Web Service api listed below.
getuseravailability
Is this the only way to get this information? I've been looking through CDO, ADSI, MAPI and the Outlook object model but can't find anything else like it. I'm avoiding using web services because the Exchange Servers I run against may not have it enabled/ may not be Exchange 2007. And also, I'm hoping for a COM api easily integrated with the existing Outlook COM addin, was really hoping for an OOM solution.
Am I wrong or would the webservices sdk require .net to be installed on the machine running the addin as well?
I believe I've found a way to do this with CDO. Will be trying a sample app for this to see if it does what I think it does.
http://msdn.microsoft.com/en-us/library/ms870482%28EXCHG.65%29.aspx
I didn't find this earlier because the MSDN library's default view doesn't easily let you browse through the table of contents for a section. You have to go into MSDNs preferences and choose "Classic View" to get the table of contents view on the left.

How to prevent users from accessing VBA?

we have a COM add-in that we use in MS Office application like Word and Excel.
That COM add-in has exposed few APIs to use, which we use for customization.
Problem is - Any user can access the APIs and that is causing security problems.
we dont want that to happen, we want to give access to VBA editor to only few peoples.
Is there any way - to disable VBA editor, without disabling VBA, because we want to use other Macros and Add-ins.
Thanks in advance!
PS - I tried hiding 'Developer' tab from toolbar but anyone who knows shortcut (ALT-F11), can still use it.
If one of the requirements of the COM Add-In is restricted access, the solution shouldn't be to disable anything than can access it. The answer should be to fix the add-in itself. An easy way to do it would be to define a user group that can use the add-in, and then just make the add-in check to verify the user is a member of that group. That should be simple to implement and simple to maintain.
The VBA Password Protection does not actually protect you from people reading the file. It's incredibly simple to remove the protection.
One alternative is to obfuscate the COM API as well as the VBA (so that, even if people can read the code, it would be difficult to figure out what's going on). Apple has done this in the past (e.g. isYoMamaWearsCombatBootsSupported -- https://github.com/JaviSoto/iOS7-Runtime-Headers/commit/6ccf9c4526992fec0dc414d48e4a3f7446e9822f#L10R61)
Can't you add a password to view/edit code? then at least they can't see your api and should prevent them from opening the editor.
Right click the project in the VBA project window and select 'properties' to add a password to that project in the Protection tab.

How do I create a button to check for updates and install them?

I can get the program to easily, upon startup, look for updates and then install them.
I want to have a button that the user can click that will check/install updates. Is this possible, if so how?
Edit: Sorry all, not ASP.NET; VB.NET only
This msdn page outlines your different options for ClickOnce updates. It explains how to check for updates before your application starts, after you application starts, or programmatically.
My guess is that you would probably want to combine one of the automatic checks (before or after application starting) with your programmatic check (on your button click).
This is not difficult. Presumably the update/install code is in its own routine. In the button's click event code, simply call the update/install routine used by the startup code.
Add an event to the button. In this event, you use something like the WebClient to retrieve an newer installation package from your server. Then verify its signature to make sure the code is really yours and install it on the local machine.
I noticed the asp.net tag on your question. Are you talking a desktop app or like from an admin page of a customer installed web application?
If it's a desktop app, just look into a ClickOnce deployment. It has that functionality built in.
Either I am not getting the big picture or it's because i work on a asp.net environment...
Anyway, I did something like you asked for our products (web applications) and it was anything but a simple task.
Here is how I did it:
1 - Build a back office application to release new product versions.
2 - Build a webService that received a given product and a version, checked if there was an update available, if so send it to the client.
3 - On the client when received an update, installed it.
I guess the update process will be easier to do on a windows application, my only advice is to be extremely careful when doing it. Always make a safe copy of your application so if anything goes wrong you can roll-back to the previous version.