How to: Certification or Whitelist of application exe and msi installer - c

Windows will always tag as unsafe. Written in C+ Visual Studio 6.
Can someone please outline steps to whitelist or digitally certify an exe packed in MSI. I have read that you can digitally sign in later versions of Visual Studio. This is written is VS 6. This is not managed code - their is no layer between the software and low level access. Is their a list for Microsoft to test the software as well as other virus vendors?

Related

How to build old Silverlight project in Azure DevOps?

We have an old Silverlight project that we have to maintain while a modern replacement is developed.
For build and publication, we use Azure DevOps.
The problem arose after Windows 2019 and 2022 remained in the available images of Azure DevOps. With versions of VS with which the project with Silverlight stopped building.
Visual Studio Enterprise 2019 16.11.32901.82
Visual Studio Enterprise 2022 17.3.32901.215
2022-09-10T14:26:05.9397408Z ##[error]abcWebSilverlight\abcWebSilverlight.csproj(1056,11): Error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" was not found. Also, tried to find "Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" in the fallback search path(s) for $(MSBuildExtensionsPath32) - "C:\Program Files (x86)\MSBuild" . These search paths are defined in "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe.Config". Confirm that the path in the <Import> declaration is correct, and that the file exists on disk in one of the search paths.
Now, to solve the problem with the building, I see two possible ways:
Somehow install the necessary VS version.
I've googled all over the internet but can't find how to do it.
In the Build task, I set the desired version and the build jumps to the available version of the studio because others are not installed in the system.
Dirty hack. Try to somehow install the extension https://marketplace.visualstudio.com/items?itemName=RamiAbughazaleh.SilverlightProjectSystem&ssr=false#qna in the hope that the project will work.
But then again, in Azure DevOps, I don't see a tool that allows me to do this.
I would appreciate any advice on a possible solution to my problem.
Thank you.
You cannot use Visual Studio 2017 or later to build old Silverlight (v4 or v5) projects - you have to continue using Visual Studio 2015.
Source: https://learn.microsoft.com/en-us/visualstudio/releases/2017/vs2017-compatibility-vs
Silverlight projects are not supported in this version of Visual Studio. To maintain Silverlight applications, continue to use Visual Studio 2015.
In Azure DevOps, the only way to get this to work is to setup your own instance of Windows with VS2015 (or the VS2015 build tools) installed and then also install the Azure DevOps self-hosted pipeline agent (for building: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser#install)
The instance can be either on-premises or cloud-hosted (either Azure or even an AWS VM instance) and will work so long as it can access the internet to communicate with Azure DevOps (configuration is a bit different if you're using DevOps Server).

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.

Visual Studio 2015 CE Setup Installer: Redistributable Package

I have my my setup project in (Visual Studio 2015: Community Edition) ready to be built and create my program installer. But, obviously the program will not work on other computers without the appropriate redistributable package installed on the clients computer.
So, I need to set that up in my project but I do not know how. I read in a post on another site that it is located in:
Project>>Setup Properties>>Prerequisites
But, all I just see are selectables for ".net framework" related things. Also, I read that merge modules are not good to use due to servicing issues.
If you have any insight into whether I am needing to download an extension for the correct prerequisite to appear, use merge modules, or something else it will be greatly appreciated!

Way around deploying prerequisites for Winform code

Currently I have a 60MB assembly which needs a 100 MB of prerequisites to be installed. For example Visual C++ 2005 for Crystal reports, Visual studio Tools for Office 2010 , Visual C++ 2010 redistributable and finally .NET framework.
Is there a way through which I don't need to deploy these prerequisites, inturn saving time and space?
May be there is a way to extract and include only those parts within these prerequisites which are needed.
With certain exceptions, MSFT generally doesn't support this. Using high level languages, frameworks, APIs and such come with a cost. You don't get all that for free... it has to be deployed.
That said, you can make choices to make it more manageable. You can target .NET 3.0+ and eliminate Windows XP and the .NET Framework suddenly doesn't need to be distributed.
You can also choose not to redistribute them and instead have your installer simply error out and tell the user to go install it.
It's one of those "it is what it is" problems.
I believe there are merge modules for CR for VC++ 2005 that you can include in your MSI build, but that redist isn't huge anyway. I also believe you don't need to install Visual Studio Tools for Office 2010 either, you need the Visual Studio Tools for Office 2010 Runtime Redistributable, not the same thing. The VC++ 2010 redist isn't that huge either, but again there are merge modules you could include in your MSI. I also suspect that you don't need the entire NET Framework, just the Client Profile redist.

What's the protocol for packaging external software with InstallShield?

My WPF project requires Adobe Reader. Apparently when I try and run the installer, it says I need to have it installed before I run the installer for my project.
I was wondering how do I package it along with InstallShield so that the user can select the option to have Adobe Reader install before installing the main project instead of having to search for it online themselves to install it?
Is this even possible? I tried to search online but I'm having hard time finding results.
Right now I'm using InstallShield Limited Edition for Visual Studio 2012.
EDIT:
Here's one screenshot where I picked the settings:
EDIT #2: I found a redistributable .exe of Adobe Reader 9.1. Now, I am wondering how I can tie that into InstallShield?

Resources