Deploy Outlook/Word/Excel Addins with custom internal website - outlook

I have an outlook addin that I currently deploy by telling the users to browse with windows explorer to a specific file on a share.
I would like to change that such that I would tell the users to browse to a specific internal website using edge/chrome. Then click on a link to install the addin.
I want to change from file system to browser based so I can deploy it much like any other website we have. I have add good instructions on the webpage with the link and any number of other advantages.
The file system supports automatic updating as we update the addin and I would want the browser based install to support the same thing.

The best what you can do is to publish a manifest URL so users could add it instead if file path on the shared place (of course, if the add-in is not published in the AppStore). You can find all possible ways of deploying Office web add-ins described in the Deploy and publish Office Add-ins article.

Related

How to test an office excel add-in with other computer

I'm newly developing office Add-Ins. I was able to create an Excel add-in using visual studio 2019 with Office / SharePoint development workload (JavaScrip APIs). It was possible to test on my own excel desktop when I press the start button in Visual studio, but I need a test on another computer. I'm planning to publicize this app on AppSource and OfficeStore.
Checking Microsoft's documentation and some other questions here at Stackoverflow I understood that the recommended way to test is: SideLoad.
Microsoft's Documentation about testing and debugging office
add-ins
Test office Add-ins - StackOverflow
Overall Testing Story for Office Add-ins
On the other hand, when I started on my desktop the WebApp(task pane) was host in the IIS server as localhost. So, I created a shared folder and put the manifest archive that was available in my machine on the path: Office add-in\ExcelWebAddIn1\bin\Release\OfficeAppManifests. Besides that, accessing another computer I set the trust manually and it works. On the other hand, when I accessed the excel> insert>add-in>myadd-ins> down arrow is not possible to keep going with Microsoft's documentation, and the add-in is not there!
If I try file>options>add-ins is not there too!
Sideload Office Add-ins for testing from a network share
Is it necessary to host the web app on a real server or Azure before following these steps? or Is it necessary to publish the solution? Besides that how can I include the manifest in excel?
To test an add-in on a machine that is not the machine where the add-in's web app is running, you cannot use "localhost" in the manifest. The manifest must point to the HTTPS URL of the web app.
I have done the following:
installed and used Node.js
edited taskpane files etc on node server
in a browser, visited localhost:3000/taskpane.html and other files, and copied source generated
on a webserver, placed these generated files, and copied links to these files (only one html and one js needed)
repalced links in manifest.xml to html file, and in .html file to .js file
re-upload manifest.xml to reflect changes
It works, with some errors being thrown in the console output.
It does mean that you need to repeat the steps above each time, except for the upload of the manifest.xml.

Deploying single files to Dynamics 365 while developing (e.g. web resources)

I am developing my first simple app in Dynamics 365, and one of my main pieces is a Web Resource that involves a lot of tweak-save-test-repeat workflow. Up to this point, every time I have made a tiny change to my web resource, I have been deploying it by opening the solution customization settings, navigating to my particular Web Resource, opening it, clicking "Text Editor" button, pasting in my updated Javascript code, and saving/publishing the changes.
This process is tedious, and I would like to find a way to automate it. I have been researching Dynamics 365 deployment tools, and I have found the CRM Package Deployer tool, but from what I can find it requires me to set up an entire deployment package (a giant XML file) comprising my entire customization, rather than the single file I am currently working on. Is there some way to automate deploying a SINGLE FILE with these (or other) tools? Or is it possible to deploy a package with ONLY A SINGLE FILE rather than re-deploying the entire solution's package each time I just change the one file?
Check out the open source alternative to the SDK's developer toolkit called Dynamics CRM & 365 Developer Extensions which you can install right into VS. It makes deployment of web resources a snap. Basically, you map individual JS/Html/Css/etc files to their corresponding web resources in CRM, and then once they are mapped all you have to do to deploy is right-click and choose Publish to CRM.
That tool is great, but if you really want to speed up your web resource development, you should use Fiddler. In Fiddler, turn on Autoresponder and setup a mapping for the file you are working on. When Fiddler sees a request that matches a mapping, it doesn't send the request to the server and instead returns the file from your hard drive. This technique offers a dramatic speed improvements for developing web resources. There's also a free tool for Fiddler called Imposter that makes the process easier. Search the web for "dynamics crm fiddler web resources" to read about this technique.
Another tool is the Web Resource Manager in the XrmToolBox It's free, a part of the XrmToolBox, and even handles pushing .map and .ts files you're doing TypeScript. It will warn you if someone else has updated the file since you have, and allows you to push, publish, or even add the files to a particular solution.
Another lightweight Visual Studio Add-in, which allows for deploying single (or multiple) web resource file to CRM without leaving Visual Studio is
Microsoft Dynamics CRM Web Resources Updater:
https://marketplace.visualstudio.com/items?itemName=MaratVDeykun.MicrosoftDynamicsCRMWebResourcesUpdater
There is also a commercial solution called XrmToolkit which can be set to automatically publish to CRM when you save the web resource file in Visual Studio:
https://www.xrmtoolkit.com/

Deploying VirtoCommerce.Manager to Azure from Visual Studio

I am working with Virto Commerce server 2.4.561 and I'm having a great deal of difficulty successfully publishing to Azure from Visual Studio. Based on the documentation provided, it's not clear to me what the appropriate method is. Most guidance related to Azure assumes that I am using Git deployment. But in this case I am not. I am coding locally on my dev machine and I would like to be able to use web deployment to deploy directly to Azure from Visual Studio. However, the guidance found here seems to suggest that if you want to do your own deployment, you need to use deploy.cmd. I'm not exactly sure why that is. I can only guess that it has something to do with how the modules need to be packaged up.
I am able to run deploy.cmd and it appears to succeed, but I end up with an artifacts folder with 2,000+ files and folders in it and I am left to use old-school FTP to sync all those files up with the Azure website. Is this how it is meant to be done? I have tried to deploy directly from Visual Studio to Azure, and it appears to succeed, but the site does not behave correctly. Specifically, the custom modules I've built don't load correctly.
What is the right way to do this?
There is a way to publish your custom module directly from Visual Studio, but you still need a working Virto Commerce in Azure beforehand, and the easiest way to set it up is to use the Deploy to Azure button in GitHub.
In the Azure portal create a new virtual application /MyModule with
physical path site\wwwroot\admin\Modules\MyModule. It will be used
for publishing a custom module.
Download the source code from GitHub with the same version as you have published to Azure, add your custom module to the solution and build it.
In Visual Studio right-click on your module project and select Publish.
On the Profile screen select Microsoft Azure Web Apps as a publish target and select your Azure Web App.
On the Connection screen select Web Deploy as a publish method and add /Module to the site name. So your site name should look like this: myvc/MyModule.
On the Preview screen click the Start Preview button and make sure the file list contains only files related to your module and the action is Add for each of them.
When you click the Publish button, Visual Studio will upload all module files to the physical directory configured for the virtual application myvc/MyModule. For subsequent publishing it will upload only modified files.
Update: You should restart the Web App via the Azure portal after publishing in order to load the new version of your code into the application. Thanks to N1njaB0b for reminding.

Visual Studio 2010 can't open a web browser, tells me to restart Windows every time

I'm trying to publish an Azure application, but can't sign in using Visual Studio 2010. I get the error message "The web browser cannot be started. To resolve this problem, you must restart Windows."
I've tried both rebooting and making Internet Explorer the default browser, but I still get the error message. This also occurs when clicking on other links (for example "Online Privacy Statement" in the same publish dialog box).
How can I fix this, or alternatively, are there any other easy ways to publish to Azure?
There are several ways to publish to Azure. Depending on your preference, some of them may be easy. Some, not so much.
First of all, are you using a source control? If you're using git, then you can use Azure Git Repository that comes free with Azure Websites and also Azure Cloud Services. So when you push your code to the Azure repository, it automatically publishes the final bits to the corresponding site.
If you're using TFS locally (at home or office), you can set up a build task that'll deploy the bits to Azure. Also, check out TFS Preview if you are comfortable with a Microsoft hosted free TFS server.
If you feel comfortable using FTP, you can get the FTP account details from the Azure portal when you set up a new azure website or a cloud service.
Finally, one of the easiest way to publish to Azure is to use the Publish Profile feature.
You'll find a link called "Download Publish Profile" associated with
your azure website. Click on that to download the profile (an XML
file).
Then right click on your VS project and hit Publish. Under Profile
tab, select "Import" and pick this downloaded file.
It should populate all the details for you. Test your connection to make sure everything works okay.
Publish and ENJOY!
UPDATE: Based on the comment to this answer, adding screenshot to show where to get the FTP details for your azure website.

TFS 2010 Team Project Portal Setting

I am not seeing the out of the box workbooks that come with MSF for Agile Software Development v5.0 in my Team Project. Turns out, TFS stores the Excel files for the template in the SharePoint portal that needs to be specified in the project settings.
From the Project Settings, There seems to be two different ways in which you can specify the Porject Portal location:
My Question:
I am not sure why "Use this SharePoint Site" is listed as (Not configured)? Does the Team Foundation Server needs to have a local SharePoint instal for this option to be enabled? Or is it some kind of permission issue?
Also, when I enter the SharePoint site collection root URL in the "Use a Web site" textbox, there is not much change in the situation. How is one supposed to use this option?
Does this mean that in order to use the workbook one needs to install SharePoint in TFS?
In order to use the workbook you do not need sharepoint. What you need to do is go to the Team Project Collection Node and right click and choose Process Template Manager, Download the process template on to your local computer. Go to the folder and you will see the excel workbook, you will be able to use the workbook.
MSDN article listing the steps to download the process template http://msdn.microsoft.com/en-us/library/ms181511.aspx
To Answer your other questions,
Q. I am not sure why "Use this SharePoint Site" is listed as (Not configured)? Does the Team Foundation Server needs to have a local SharePoint instal for this option to be enabled? Or is it some kind of permission issue?
You have an option to set up the sharepoint site when you create a new team project, however you have an option of not creating a new team site with each team project and can skip this step and come back later to the team project to associate an existing team site to the team project.
Q. Also, when I enter the SharePoint site collection root URL in the "Use a Web site" textbox, there is not much change in the situation. How is one supposed to use this option?
You do not need the team site for this, unless you are planning to publish the excel using excel services to the sharepoint site.
Q. Does this mean that in order to use the workbook one needs to install SharePoint in TFS?
No.
HTH
Cheers,
Tarun

Resources