Create an installer for a PowerPoint Add-In for Windows - office-addins

Compared to sideloading an office add-in in MacOS the process in Windows is rather complicated. Too complicated for external beta testers.
I would like to create an installer executable that sideloads the add-in. The add-in is just a static website.
That's the process of sideloading an add-in under Windows: https://learn.microsoft.com/en-us/office/dev/add-ins/testing/create-a-network-shared-folder-catalog-for-task-pane-and-content-add-ins
As it is always the same for every static website, I'm wondering if anyone has experience with that and could guide me to generate an installer for my add-in?

Related

Windows Installer 4.5 Doesn't appear in the prerequisites component list

From Prerequisites on the setup property pages, I selected the option to Download prerequisites from the component vendor's web site
There is no Windows Installer 4.5 in the prerequisites to install option..
because every im installing my setup using the sqlexpr_x64_ENU.exe in custom actions to install, run the setup after the extracting sqlserver it pops up the window says
There is a problem with this Windows Installer package. Aprogram run as part of the setup did not finnish as expected. Contact your support personnel or package vendor
im using VS2017 on windows 10
Exclude MSI Engine: You should not include Windows Installer 4.5 with any package these days. This runtime is from back in the day of Windows Vista - we are long since on version 5. Windows Installer should be deployed only via Windows Update as of today - in my opinion. Leave the runtime out of your setup.
No Concurrency: You can not run an MSI setup from within another MSI setup via a custom action. This is due to technical restrictions. There is a mutex set when an MSI runs its actual installation sequence, and triggering another installation sequence from within it will fail. A similar answer on the topic.
Setup.exe Launcher: What you need is to install your pre-requisites via a setup.exe launcher instead. This runs installations in serial, not in parallel. Which version of SQL Server are you installing? I see only a couple of versions available in the Visual Studio Installer Project launcher.
Other tools have features to allow you to install a setup.exe with embedded packages of various kinds in sequence. I have explained a myriad of times how to do this in previous answers. Here are just a few that I found quickly:
SQL Server named instance with Visual Studio 2017 Installer project (basically exactly the same issue - I suggest WiX the open source, free alternative)
Custom installer for application in Visual Studio 2017 (I suggest WiX and several commercial tools that are easier to use - maybe try to read this one)
Cannot call command.exe(SQL Server Setup.exe) while calling C# CA with parameters
How to create a MSI file which simply copies a directory to Program Files? (tools list)
Combine exe and msi file in one installer
Visual Studio 2017 Installer Project - include VC++ 2015 Redistributable
The general situation:
The problem is not Windows Installer 4.5, it's the fact that you are trying to do a recursive MSI install (the SQL one from inside yours) which is not allowed and will fail.
The MSI 4.5 engine is pretty much obsolete, about 10 years old, and anyway it's not the issue, and it's not clear why you believe it is. But it IS in the Prerequisite list on my VS 2017 setup project prerequisites - see 3 - even though you almost certainly don't need it.
There are some SQL Express options available in the Prerequisites of the VS setup project - right click the project in solution explorer and choose Properties, then Prerequisites.

Where did setup install my WinForm application?

I recently developed an WinForm application that I wanted to run on my local SQL server using SQL Agent. I published the WinForm app via Visual Studio and copied the files (three listed below) over to my SQL Server where I ran the setup.exe program.
Application Files (directory)
MyApplicationName.application
setup.exe
My application installed and started up automatically.
Now that I have to schedule the job with SQL Server Agent I cannot find where the application was installed to on the filesystem. I can see the shortcut on the Start menu but it just points to a shortcut. The shortcut does not seem to have any indication as to where the actual application file exists.
I tried to point to the shortcut as the application SQL Agent should start but all I get is "junk text" in the path.
Visual Studio uses ClickOnce deployment to publish WinForms applications. The installation folder varies by Windows version. For example on Windows XP it is
C:\Documents and Settings\USERNAME\LocalSettings\Apps\2.0\
and on Vista and above it is
C:\users\USERNAME\AppData\Local\Apps\2.0\

Updating Windows Forms application to run on Windows 8.1

I've some time lately trying to find a clear answer for updating some of my desktop applications to run on Windows 8.1 (Desktop/laptop and Surface). So far everything I am finding is pointing toward developing for the Windows Store where the application then could be downloaded.
Heres my development Environment:
Windows 7 Ultimate
MS Visual Studio 2012 Premium
MS Visual Studio 2013 Express
My test environment consist of:
Windows 8.1 Surface Tablet
Windows 8.1 Laptop
When I build something now (retargeted to the newer framework (4.5 (4.5.1 is installed)) and copy it over to these devices and try to run them I get an error that the indicates "This app can't run on your PC" "To find apps for this PC, open the Windows Store.". This isn't really what I want to do, I just want to make he applications we use on a day to day basis in my retail store availible to the new computers.
A couple of questions come to mind;
Does the development environment need to be a Windows 8.1 based environment?
Do I need to again buy a new version of Visual Studio (Visual Studio 2013)?
Am I stuck using the Windows Store to deploy applications?
If anyone could point me in the right direction as to where to read or provide some insight tho cross this hurdle would surely save alot of repeated reading about how great the store is.
A Surface tablet does not permit running desktop apps. You can only run apps that are downloaded from the Store. So scratch the idea that your Winforms app is going to work on the tablet. There isn't any good reason why it would not work on the laptop, they work fine on mine.
Does the development environment need to be a Windows 8.1 based environment?
Yes, for VS2013. For VS2012 it needs to be at least 8.0
Do I need to again buy a new version of Visual Studio (Visual Studio 2013)?
You didn't buy VS2013, you do need the correct version of Express. There are several. You need the "Express 2013 for Windows" edition, it only supports developing apps for the Store. You probably have the "Express 2013 for Windows Desktop" edition, it only supports desktop apps and supports Winforms. The retail edition supports all targets. The Express editions were split to keep them small.
Am I stuck using the Windows Store to deploy applications?
If you develop Store apps, yes. You get a temporary license to develop the app but it expires after a month. If you need more time then you get just another license. But the app needs to be certified to obtain a permanent license so it can run permanently on the Surface machine. And everybody else's.

VSTO application deployment error

I am facing VSTO error when I am trying to install the application using click once installer. I have tried on Windows XP machine and also on Windows 7 machine.
Exact error when opening the application on client machine is
“The following Microsoft solution cannot be loaded because a compatible version of the .NET Framework is not Installed: myApplicationName.vsto”
The application is VSTO app in C# with WPF tab embedded in Excel application (Framework 4).
The framework the application is developed on is already installed on the client machine.
I did not find any solution in this thread; any help would be highly appreciated.
I had the same issue today. I believe this is a problem with the VSTO 2010 installer included with your application.
I went and downloaded the latest version from Microsoft, installed it, retried my installer and then everything worked.

Interop Forms Toolkit DLL and "Class does not support Automation or does not support expected interface" error

I have a .NET WinForms application that I've converted into a COM dll using the Interop Forms Toolkit 2.1. Thet setup project for the application has both my tlb as well as the Microsoft.InteropFormTools.tlb file set to Register as vsdrpCOM. The prerequisites for the project are to ensure that Windows Installer 3.1, .NET Framework 3.5 SP1, and the Microsoft Interop Forms Redistributable Package 2.0a is installed.
When I run this locally on a Windows XP box with both Visual Studio 2010 and Visual Studio 6 installed, it works fine. However, on this Windows XP machine, I receive an error stating: "Class does not support Automation or does not support expected interface."
Any ideas?
I got it. For those of you that are running into the same, do the following:
Go into Visual Studio 2005, 2008, or 2010 (I used 2010) and build your Interop Form.
Then, go into Visual Basic 6. If your library is not already referrenced, reference the
library.
Build your VB6 executable.
Go back into Visual Studio (.NET version) and build only your installer. This way the installer and VB6 both have the same .tlb file
You're good to go. Thanks for the suggestion Kris!
You have RegAsm the assembly (see stackoverflow for more) on the machine you want to install the application on. The assembly should also be in the directory where the VB6 application runs, or installed in the GAC.

Resources