"Incompatible platform error" building MSI - c#

I have a Windows service application and am trying to add an MSI project to the solution. Application uses 64 bit Oracle Data Access DLL and is built as 64 bit app.
I added new "Project Setup" project to the solution and went through the steps. There are two other DLLs in the application project: log4net.dll and System.Net.Http.dll.
Windows Service by itself worked fine. When I try to build the solution, I get File 'Oracle.DataAccess.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86' error. I checked for this error and every article said to set the taget platform of installer to x64, which makes sense. The only thing is when I open the properties window of installer project, there is no option to select target platform and it is blank.
This is screen shot of "Application Folder" section of installer:
This is the installer properties:
This is the Windows service application's properties:

Procedure: You need to set the MSI architecture in the setup project's properties window. This is a different property page than the one you show.
Left click the Visual Studio Installer Project inside the Visual Studio Solution.
Press F4 to go to the property page for the project.
In the TargetPlatform select x64.
Tip: Try googling the exact error message you get when you face issues like these. Here is a previous answer: Can't set 64 bit target for Setup Project in Visual Studio 2017 (I added a new one to get a screen shot in).
Heads-Up: And a heads-up on the use of Visual Studio Installer projects. They have many limitations: Visual Studio Publish Project Into One Simple Installer.
MSI Tools: Here is a quick overview of other MSI tools. And here is a detailed overview / review.
Links:
Troubleshooting Setup and Deployment Projects

Related

signtool.exe is not found [duplicate]

While I was trying to Update my Project I was making - I got an error for the first time I've seen:
'An error occurred while signing: SignTool.exe not found.'
I've never seen this before, So I looked up that SignTool.exe is what signs my project for ClickOnce Deployment.
I also read that is it a part of Windows SDK - but when I looked to find where SignTool.exe is - I saw it right there!
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
I saw no problem, and I've always published my Project all the time - I'm on Version 68. But this is the first time I've seen this - I didn't touch any options that would do this.
Any help?
ClickOnce Publishing Tools are not installed as part of the Typical Installation Options. So you have to install it in advanced mode.
This dialog can be found in Windows 7 by going to Control Panel > Uninstall a program, right-clicking on Microsoft Visual Studio Professional 2015 and selecting Change. A Visual Studio dialog will open up. Select Modify from the set of buttons at the bottom and the above dialog will appear.
Please Click Once application --> Properties --> Signing -> Unchecked the Sign the ClickOnce manifests.
Problem will be solved.
Note: Be aware that this solution removes security from your project. Seek assitance from a more learned colleague before doing so.
SignTool is moved to another location in the last SDK: C:\Program Files (x86)\Windows Kits\8.1\bin\x86
Need to install ClickOnce Publishing Tools during Visual Studio 2015 setup.
You can re-run the Installation from the Programs and Features section; find Visual Studio in the list and click Change.
You can fix this by clicking on installation application of VS. Then click Modify > Mark ClickOnce App and then upgrade your VS. Also i think #Alex Erygin is right. It is a bad solution to Click Once application --> Properties --> Signing -> Uncheck Sign the ClickOnce manifests. This is not a solution. It only circumambulated the problem.
This is a simple fix. Open the project you are getting this error on. Click "Project" at the top. Then click " Properties" ( Will be the name of the opened project) then click "Security" then uncheck "Enable ClickOnce security settings."
That should fix everything.
Click "Project" at the top. Then click " Properties" -> Signing -> Unchecked [Sign the ClickOnce manifests] is now working
Now try to publish the ClickOnce application. If you still find the same issue, please check if you installed the Microsoft .NET Framework 4.5 Developer Preview on the system. The Microsoft .NET Framework 4.5 Developer Preview is a prerelease version of the .NET Framework, and should not be used in production scenarios. It is an in-place update to the .NET Framework 4. You would need to uninstall this prerelease product from ARP.
https://blogs.msdn.microsoft.com/vsnetsetup/2013/11/18/an-error-occurred-while-signing-signtool-exe-not-found/
Lastly you might want to install the customer preview instead of being on the developer preview
None of the answers above talk about disabling ClickOnce. In my situation, I never used ClickOnce for my applications but after I upgraded to VS 2015 it was suddenly enabled and I got the 'SignTool.exe not found' error when I tried to compile.
To disable you go into the properties of your Project (right click) and choose Security | Uncheck Enable ClickOnce security settings.
You can leave the manifest checked in the Signing tab because it has nothing to sign if it's been disabled.
I've confirmed that unchecking the security resolved the compile error on my projects.
I needed Signing hence couldn't un-check as suggested.
Then goto Control Panel -> Programs and Features -> Microsoft Visual Studio 2015 Click Change then the installer will load and you need to click Modify to add ClickOnce Publishing Tools feature.
I did have similar problem. For some reason under
project properties -> Signing -> Sign ClickOnce manifests was enabled.
I unchecked it and the problem went away.
Reinstalling SDK did not help me but installing SDK+.NET 3.5 did from link below:
https://www.microsoft.com/en-us/download/details.aspx?id=3138
Windows 10 users can find signtool.exe in C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64 folder (10.0.18362.0 in my case, or other version).
But first, make sure you've installed Windows 10 SDK
Then, check Windows SDK Signing Tools for Desktop Apps is installed by going to Control Panel > Programs > Programs and Features, choose Windows Software Development Kit - Windows 10.0.18362.1 (in my case, you version may be different), right-click, choose Change, choose options Change then click Next.
I had the same issue/error message just after upgrading Visual Studio Pro 2019 V16.6.0. Solution was to make sure that the signing certificate is valid as mine had expired by a day.
Look in properties and signing to either enter a valid or temporary certificate. To keep the file name the same as before then un-click the security as mentioned above and then delete the key file linked to the programme.
Create a new key file and then add back the security.
Solution Explorer
Your app Right Clik
Propatis
Security
Unchek (Enable ClickOnce Security Settings)
Thats Solve..... __:)
https://i.stack.imgur.com/62nKZ.png See
[enter image description here]
After upgrading build tools in DevOps build agent to visual studio 2019, we started getting the below error for 64-bit build step of a WPF application.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(3975,5): error MSB3482: An error occurred while signing: SignTool.exe was not found at path
I tried all the above answers except the ones to disable signing or signing security and nothing helped.
Disabled the default MSBUILD step
Added a cmd prompt step
The path is
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MsBuild.exe"
Note: Removed amd64 from the path above.
This is still a workaround. I hope Microsoft will fix it in the following release.
For VS 2019 or later (Windows 11)
Option 1 (Recommended) -
ClickOnce Publishing Tools are not installed basic Installation. Therefore you will have to manually check and install.
Go to Visual Studio Installer
Then Click modify
Finally, select Individual components tab, search for ClickOnce Publishing and install
Restart the computer.
Option 2 (Not recommended) -
Click Once application --> Properties --> Signing -> Uncheck Sign the ClickOnce manifests. This is not a solution. A workaround.
Option 3 -
Install Windows 10 SDK. Check Control Panel > Programs > Programs and Features > Windows Software Development Kit

Using a Windows Forms Application out of Visual Studio

I am just wondering if there is a somewhat simple way to use a Windows Forms Application program outside of Visual Studios. If so could someone elaborate on it?
When you have compiled the files simply navigate to the
Debug/Release folder
and run the executable. Any dependencies can be configured to be output to that folder in
Project properties (Build Tab, Output path)
You can also set references to Copy local in the Property Window within Visual Studio, which ensures references are copied to Debug/Release folder depending on which configuration you have Visual studio in.
Or build an installer as Brian describes.
Yes. The steps to do this can be found here.
In a nutshell:
Add a new install project to your solution.
Add targets from all of the projects you want to be installed.
Configure pre-requisites and choose the location from where missing components must be installed (if applicable).
Configure your installer settings - company name, version...
Build the project and you are good-to-go.
Run the installer (setup.exe) or right-click the setup project in the solution explorer and select "Install", then run it from the install folder like any other app. (thank you, retailcoder)
It can be as simple or complex as you would like it to be.

Cannot reference dll file in project

This is my first time trying to use a dll file in visual studio (2012) so I am not sure what I am doing wrong. I am trying to get sqlite into my project following this tutorial
I right click on the project in the Solution Explorer and click Add References
I then click on the browse tab and find where I have the dll file,click ok then ok in visual studio and I get an error saying Reference to *dll path* could not be added. Please make sure the file is accessible and that is it a valid assembly or COM component.
did I miss a step here or something?
The file is located in my dropbox folder (where my whole project is) and the project is a windows store application is that matters
Not a direct answer but instead of referencing the dll directly, you should install the Visual Studio extension for SQLite. The extension includes the dlls for all platforms (x86, x64, ARM). It also makes sure that the right dll is used for the platform that you are building for.
After you install the extension, it will appear in the references dialog under Windows -> Extensions. Also, when you use the extension, you must change all your project build configurations to be x86 or x64 (on the desktop) or Arm (for Arm devices). It will fail to build if you use AnyCPU.

Wix setup project's exe "app can't run on your PC"

In VS2012, I've created an Wix3.6 setup project for an application. The installer output type is set to Executable Package (.exe) on the Properties tab. The setup project compiles and produces an .exe as expected.
Double-clicking the .exe produces the message:
This app can't run on your PC.
Executing the .exe as Administrator and granting elevation, the machine says:
Windows cannot find 'C:\abc\xyz.exe'. Make sure you typed the name correctly, and then try again.
Googling reveals the error message is likely architecture related.
Facts:
Machine is Windows 8, 64-bit.
The setup project is set to an x86 platform.
The same setup project produces a working x86 .msi
Any ideas about incorrect settings, references or configurations to look for?
A bit late but I came across this myself and this is my solution.
Basically, this scenario can be created by trying to change a WIX setup project from 'MSI' output to 'EXE' in the project settings. A WIX setup project can only generate an MSI from it's Product.wxs. A WIX-generated EXE is actually created with a bootstrapper project, containining a Bundle.wxs, which then in turn can bundle your MSI(s) internally into a bootstrapped EXE.
So to solve this change your setup project back to MSI output, then create an additional bootstrap project (with EXE output) and add your build MSI output from the setup project in the "Chained packages" section of the Bundle XML.

Visual Studio Installation Project

When creating a set-up project in Visual Studio 2008, I am trying to create an MSI. I have a standalone installation project - that is, I don’t have a main project to install, I just want to ship some random files.
Configuration properties / build shows that it should create debug/myproj.msi. However, if I do a build of either the solution or the project, I only get an exe.
Do I need to compile this in a certain way to force it to create an MSI?
To build an installer package you must right click on the project and select "Build". Or modify the solution settings to include a build of the installer.
By default installers are NOT built on every build, this is for performance reasons.

Categories

Resources