Outlook Web Add-In version restrictions via manifest - outlook

I'm working on Outlook Add-In that requires:
Blockquote
API 1.3
Command buttons
So I want to restrict Add-In from being showed on OWA or Desktop clients that don't support both of this.
That's what I did in the OfficeApp section of the manifest to restrict OWA 2013 that doesn't work with 1.3 API, that should help with Outlook Web App (Exchange 2013 On-Premise).
<Requirements>
<Sets DefaultMinVersion="1.3">
<Set Name="Mailbox"/>
</Sets>
</Requirements>
But I've got few questions regarding next steps
Is there a way to prevent Add-In from showing on the clients that
don't support command buttons? (OWA/Desktop)
Should I expect that Outlook 2013 Desktop (max API supported is 1.3) that worked with Exchange 2016 is the same for a user as if he used Exchange 2013? (I don't have Exchange 2013 to try myself)
Does DefaultMinVersion="1.3" guarantee that users without December 8, 2015, update for Outlook 2013 (KB3114349) won't see Add-In that doesn't work properly?
Thanks in advance.

Yes, if you use the Version Overrides section of the manifest, clients that support it will show these commands. In order to prevent the legacy portion of the manifest from appearing in clients that don't support it, you can use a rule that will never evaluate to true like below in your FormSettings section:
<Rule xsi:type="RuleCollection" Mode="And">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
<Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read" />
</Rule>

Related

Cannot select more than 1 email when invoking our Outlook Add-In

We just released our Office JS Add-In for Outlook. Our Add-In takes one or more emails and sends them to an external web service to upload as a case note attachment for our enterprise application. With the previous Visual Studio Tools for Office (VSTO) technology, we could invoke our Add-In with any number of emails selected so that many could be sent at one time. With the Office JS technology, if we select any more than 1 email, the Add-In button is not enabled and we can't invoke our Add-In. We have 12,000 customers using this tool using VSTO and they will report this as a bug for our Add-In given that the old technology works and the new technology does not. We would like this capability added for Office JS so our customers can do what they did using VSTO.
This is not possible today. We track Outlook add-in feature request on our user-voice page.
It looks like the feature you want has been requested by others already. Please upvote the existing request https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/11080962-allow-outlook-add-in-commands-to-be-used-on-select. Feature request on user-voice are considered when we go through our planning process.

Visual Studio 2013 produces garbled/corrupted/wrong-encoded html

I have a MVC4 Web project with Razor, which works fine in VS2012.
In VS2013, after clean-rebuild, the same web project produce html with encoding issues. its looks like this. Lots of ��� (question mark characters in a dark diamond)
I am pretty sure its VS2013 that is the cause - I have tried re-installing IIS, recreating the websites, disabling gzip compression, disabling caching, deleting temporary compiled files etc etc etc... I am using VS2013 Pro Edition in Windows 8.1.
If I switch back to VS2012 and clean-rebuild the response is back to normal.
I have also tried the <globalization> element in project, and meta Content-Type and same with http headers, various combinations of content type values etc, to fix encoding in VS2013 - all to no effect.
Any solutions?
Could be the Browser Link feature in VS 2013. Look for this in your toolbar:
Uncheck Enable Browser Link and reload the web page (rebuild shouldn't be necessary).
I figured this out noticing a bunch of requests like http://localhost:64667/613318d74fb54ab5bed269c36eb39fde/arterySignalR/connect... in Fiddler that I had never seen before. Also, using the Raw tab of the inspector in Fiddler showed lots of random unprintable bytes being injected into the HTML of my web pages.
Browser Link can also be disabled via web.config, as follows:
<configuration>
<appSettings>
<add key="vs:EnableBrowserLink" value="false" />
</appSettings>
</configuration>

Unable to automatically step into the server

I need to debug WPF Client with RIA Services. In VS 2010 it was working fine and now I am under VS 2012 and I an facing this error.
Any clue how to return to debugging?
I have already checked web.config and it has <compilation debug="true" targetFramework="4.0" />
Did you try right click on devenv.exe and select Troubleshoot compatibility? And always execute VS with administrator permission.

Visual Studio Error: (407: Proxy Authentication Required)

I am behind a corporate proxy server which requires credentials. I have been trying to connect to a TFS server (on tfspreview.com) with MS Visual Studio Pro 2012 for the last 2 hours with no success. Every attempt has been met with this error:
The integrated browser works fine when I initiate it. It asks me for my proxy login credentials and once entered, off I go. So there is some different method of connection happening here.
I have also navigated to the TFS server, and once in my project I clicked Open new instance of Visual Studio. The new instance fails with this message in the output:
HTTP code 407: Proxy Authentication Required
I have tried everything that I found on another post to no avail. I have made every edit and combination edits to devev.exe.config that I have found with no success.
Could it be that the 2010 version is somehow different than the 2012 Pro edition? I am running Windows 7.
Can anyone shed some light? Please?
Note: This problem also applies to Visual Studio 2013
After three days of searching, the solution fell into my lap.
Now, what happened was VS tried to do an automatic update but was stopped by the proxy. I was prompted for credentials and the check took place.
I was inspired to check the TFS server connection just for kicks in case that prompt would possibly establish a connection for the TFS server to tunnel through... lo and behold! It worked!
WORKAROUND:
Open TOOLS>Extensions & Updates
Click on Updates... in the left-hand menu
There will be a failure notice on screen and a link to enter your credentials. Click it and enter them.
Close the Extension manager.
Click TEAM>Connect to TFS server...
Enter the address and it will work!
Note: Some have suggested trying to use the proxy credential prompt by opening the integrated browser but this has not worked. I am not an expert but I think they are connecting through different channels within windows itself.
There is no editing of devenv.exe.config required for this to work.
It will be a pain to have to check for updates manually every time you need to connect to the server, but this is the best solution I have come up with until Microsoft fixes this issue permanently with an update or future release.
The situation is essentially that VS is not set up to go through a proxy to get to the resources it's trying to get to (when using FTP). This is the cause of the 407 error you're getting. I did some research on this and there are a few things that you can try to get this debugged. Fundamentally this is a bit of a flawed area in the product that is supposed to be reviewed in a later release.
Here are some solutions, in order of less complex to more complex:
If possible don't use the proxy for the specified domains that you're trying to get to.
Set up your proxy settings correctly Internet Explorer (even if you don't use it) as that affects system wide settings. Even go so far as to connect to the internet with internet explorer and leave it connected then go back and try again from VS.
In the devenv.exe.config add <servicePointManager expect100Continue="false" /> as laid out below:
<configuration>
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
</configuration>
Add defaultProxy settings as follows:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://your.proxyserver.ip:port"/>
</defaultProxy>
<settings>
...
Alternately you could try telling it to use system default (which should pull from internet explorer) like so:
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True" />
</defaultProxy>
There is an older solution involving creating a plugin here
Hope this solves it for you.
While running Visual Studio 2012 behind a proxy, I received the following error message when checking for extension updates in the Visual Studio Gallery:
The remote server returned an unexpected response: (417) Expectation failed
A look around Google finally revealed a solution here:
Visual Studio 2012 Proxy Settings
http://www.jlpaonline.com/?p=176
Basically, he's saying the fix is to edit your devenv.exe.config file and change this:
<settings>
<ipv6 enabled="true"/>
</settings>
to this:
<settings>
<ipv6 enabled="true"/>
<servicePointManager expect100Continue="false"/>
</settings>
The solution that worked for me in both Visual Studio 2013 and Microsoft Test Manager (MTM) was to ensure that both devenv.exe.config and mtm.exe.config included this configurations section:
<system.net>
<settings>
<ipv6 enabled="true"/>
<servicePointManager expect100Continue="false"/>
</settings>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True" />
</defaultProxy>
</system.net>
MTM did not have a system.net setting and the whole section was added immediately following the closing xml tag </appSettings>.
Download and install Fiddler
Open Fiddler and go to Rule menu to tick Automatically authenticate
Now open visual studio and click on sign-in button.
Enter your email and password.
Hopefully it will work
Using IDE configuration:
Open Visual Studio 2012, click on Tools from the file menu bar and then click Options,
From the Options window, expand the Source Control option, click on Plug-in Selection and make sure that the Current source control plug-in is set to Visual Studio Team Foundation Server.
Next, click on the Visual Studio Team Foundation Server option under Source Control and perform the following steps:
Check Use proxy server for file downloads.
Enter the host name of your preferred Team Foundation Server 2010 Proxy server.
Set the port to 443.
Check Use SSL encryption (https) to connect.
Click the OK button.
Using exe.config:
Modify the devenv.exe.config where IDE executable is like this:
<system.net> 
 <defaultProxy>  
 <proxy proxyaddress=”http://proxy:3128”
bypassonlocal=”True” autoDetect=”True” /> 
  <bypasslist> 
   <add address=”http://URL”/>  
 </bypasslist> 
 </defaultProxy> 
Declare your proxy at proxyaddress and remember bypasslist urls and ip addresses will be excluded from proxy traffic.
Then restart visual studio to update changes.
This helped in my case :
close VS instance
open Control Panel\User Accounts\Credential Manager
Remove TFS related credentials from vault
This is just a hack. You need to do it regulary ... :-(
Best regards,
Alexander
I was getting an "authenticationrequired" (407) error when clicking the [Sync] button (using the MS Git Provider), and this worked for me (VS 2013):
..\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://username:password#proxyip:port" />
</defaultProxy>
<settings>
<ipv6 enabled="false"/>
<servicePointManager expect100Continue="false"/>
</settings>
</system.net>
I think the magic for me was setting 'ipv6' to 'false' - not sure why (perhaps only IPv4 is supported in my case). I tried other ways as shown above, but I move the "settings" section AFTER "defaultProxy", and changed "ipv6", and it worked perfectly with my login added (every other way I tried in all other answers posted just failed for me).
Edit: Just found another work around (without changing the config file). For some reason, if I disable the windows proxy (it's a URL to a PAC file in my case), try again (it will fail), and re-enable the proxy, it works. Seems to cache something internally that gets reset when I do this (at least in my case).
I was trying to connect Visual Studio 2013 to Visual Studio Team Services, and am behind a corporate proxy. I made VS use the default proxy settings (as specified in IE's connection settings) by adding:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True" />
</defaultProxy>
<settings>
<ipv6 enabled="true"/>
</settings>
</system.net>
to ..\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config (running notepad as admin and opening the file from within there)
My case is when using two factor auth, outlook account and VS12.
I found out I have to
open IE (my corporate default browser)
log in to visual studio online account (including two factor auth)
connect again in VS12 (do the auth again for some reason)
I was having the same problem, and none of the posted solutions worked. For me the solution was:
Open Internet Explorer > Tools > Internet Options
Click Connections > LAN settings
Untick 'automatically detect settings' and 'use automatic configuration script'
This prevented the proxy being used, and I could then authenticate without problem.
I faced the same error with my Visual Studio Team Services account (formerly Visual Studio Online, Team Foundation Service).
I simply entered the credentials using the VS 2013 "Connect to Team Foundation Server" Window, and then connected it to the Visual Studio Team Services Team Project. It worked this way.
I got this error when running dotnet publish while connected to the company VPN. Once I disconnected from the VPN, it worked.

Why does visual studio 2008 break my web page?

I have a aspx page that has a UpdatePanel and a asp timer. the timer tick is the trigger for the update panel.
If add anything to the update panel (even a space!) Visual Studio automagically adds the following
<Triggers>
<System.Web.UI.AsyncPostBackTrigger ControlID="tm1" EventName="Tick"></System.Web.UI.AsyncPostBackTrigger>
</Triggers>
Even though the page has already registered the following (albeit in the same triggers section)
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tm1" EventName="Tick" /> </Triggers>
So my questions are these
1) What is the difference between asp:AsyncPostBackTrigger and System.Web.UI.AsyncPostBackTrigger
2) Why does Visual Studio persist on adding this line which then breaks the page as it errors with the message System.Web.UI.UpdatePanelTriggerCollection must have items of type 'System.Web.UI.UpdatePanelTrigger'. 'System.Web.UI.AsyncPostBackTrigger' is of type 'System.Web.UI.HtmlControls.HtmlGenericControl'.
3) How can I stop this???
I am using Visual Studio 2008 targeting a .Net 2.0 Web application project.
Do you have the AJAX control library registered correctly for your project? Since you're targeting .Net 2.0, you'll need to add the AJAX library explicitly (it's not built in until .Net 3.5).

Resources