I've been stuck in this for a couple of hours.
I want to deploy my C# application using a Visual Studio ("Windows") Installer instead of a Click Once Installer.
For doing that, I had to install an extension called "Visual Studio 2015 Installer Projects", which I did.
But once I finally created the setup project for my solution, when I try to build it, I get the following error:
"Sign tool was not found at path: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\signtool.exe"
I checked that in fact, signtool.exe isn't there. But after a little research I found that signtool.exe is located under:
C:\Program Files (x86)\Windows Kits\10\bin\x64 and
C:\Program Files (x86)\Windows Kits\10\bin\x86
No here's is my question: how do I tell Visual Studio where the signtool.exe is located? is it a global, visual studio configuration or a project specific configuration?
Thanks in advance
You can use environment variable WindowsSdkDir. For example in command line:
"%WindowsSdkDir%bin\x64\signtool.exe"
or within msbuild script:
$(WindowsSdkDir)bin\x64\signtool.exe
instead of x64 you can use x86 if you use 32-bit windows version
I believe, will be much better to add
C:\Program Files (x86)\Windows Kits\10\bin\x86
path to the global system path (via ControlPanel->System->Advanced system settings->Environment variables...
Related
This is my Visual Studio UI and installer:
Then, I try to open the installer from Visual Studio. But it shows an error message:
I think that there is no specific path of the vs in its config files. However, I failed to find it. Please share your advice and a solution for this. Thanks.
Let's try this way
- Open CMD with admin privilage and go to this path
cd /d c:\program files (x86)\microsoft visual studio\installer
Depend on which version of visual studio you have installed (Enterprise, Community or Professional) type :
for Enterprise
vs_installershell.exe repair --installPath="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
for Community
vs_installershell.exe repair --installPath="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
for Professional
vs_installershell.exe repair --installPath="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional"
here is the source it has worked for some users
https://developercommunity.visualstudio.com/content/problem/313423/missing-option-value-installpath.html
I have developed a small database application for learning and I wanted to deploy it to run on other machine.
I try to publish application and selected Download prerequisites from the same location as my application. It gives me an error that Prerequisite file not found and it asks me to download those files
Now I have downloaded the files and I wasn't sure where to place those files and googled it.
I found that I need to add under this path:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\DotNetFX45
Now, I have 4 different directories under this path:
C:\Program Files (x86)\Microsoft SDKs\Windows
Directories:
v7.0A
v8.1
v8.1A
v10.0A
BTW, the Bootstrapper directory is only available in v7.0A folder. So, I add NDP452-KB2901907-x86-x64-AllOS-ENU.exe under this path:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX452
But it still gives me same error. Then I tried to add Bootstrapper directory under other versions but same error.
Questions:
What is the correct path and why it's unable to load that file?
I need to add few other prerequisites as well so how do I know the right directories for them? (sqlncli.msi, sqllocaldb.msi, sqlcmdlnutils.msi)
And it is asking for x64 and x86 setup files separately so how do I handle that?
Environment Detail:
Window 8 Single Language
Visual Studio 2015 (Enterprise)
SQL Server 2017
Instead of copying to bootstrapper under Microsoft SDKs folder,You need to copy the downloaded prerequisites to packages folder Bootstrapper under Microsoft Visual Studio 14.0. example
32-bit system:
C:\Program Files\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages
64-bit system:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages
Check your system for relevant path:
More details at following link:
https://msdn.microsoft.com/en-us/library/hh873130.aspx
For all of other prerequisite, make sure to copy it to \packages\{prerequisite} folder. And if it asks for x64 and x86 files separately then create sub-directory like:
Bootstrapper\Packages\SqlLocalDB2012\x64 (for 64-bit)
Bootstrapper\Packages\SqlLocalDB2012\x86 (for 32-bit)
I am having an issue where a C++ project that my application references is not being loaded at runtime (i.e. I get an "file or assembly not found" exception). After trying many different things I stumbled onto the click once prerequisites menu and noticed that there was a number of prerequisites with the yellow error sign beside them.
I am not sure if this will resolve my "assembly not found" exception or if I am going down the wrong path, but I figured I'd ask. Why does Visual Studio not find these prerequisites on my machine??
I have searched in some folders like C:\Program Files(x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages but I don't think this folder contains my prerequisites (though I am not 100% sure what to be looking for in these folders), instead it contains to more folders called SqlClrTypes_x64 and SqlClrTypes_x86.
I am using Visual Studio 2017 on a Windows 10 64 bit machine.
Does anybody have any ideas on why visual studio cannot find the prerequisites in the image below?
In Visual studio 2017, all packages stored on C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages path are only visible in prerequisites list.
In your case, those packages are added from machine which has those packages at above location.
You might have to create custom packages for above files, like given in the example below link:
https://learn.microsoft.com/en-us/visualstudio/deployment/creating-bootstrapper-packages?view=vs-2017
I have installed VS2017 and call
call "%VS120COMNTOOLS%VSVars32.bat"
from the command line but all I get is
'"%VS150COMNTOOLS%VSVars32.bat"' is not recognized as an internal or external command, operable program or batch file.
If I run "set" from the command line I can see VS120COMNTOOLS (for VS2013) & VS140COMNTOOLS (for VS2015) but there is no VS150COMNTOOLS. How can I build from the command line?
I submitted this as a tech support issue to Microsoft who accepted it as a bug in the install ("there is no VSVars32.bat in the C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools directory.").
However, there is a work-around:
From MS:
At least, since there is a VsDevCmd.bat, there is a Visual Studio 2017 Developer Command Prompt, which also sets, modifies environment variables (Framework40Verion, FrameworkDir, FrameworkDIR64, FrameworkVersion, FrameworkVersion64, INCLUDE, IPCPATH, PATH, VCINSTALLDIR, VCToolsInstallDir, ...)
C:\Program Files (x86)\Microsoft Visual Studio\2017\EDITION\Common7\Tools\VsDevCmd.bat
Run C:\Program Files (x86)\Microsoft Visual Studio\2017\EDITION\Common7\Tools\VsDevCmd.bat where EDITION is the type of VS2017 install, i.e. C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat for the Enterprise install. This sets up the needed environment variables and batch builds will work.
Hope this helps anyone struggling with the same issue.
VS2017 has reworked its directory structure and filenames. The file is no longer titled "VsVars32.bat", you should look for the file 'vcvars.bat', which can be located in ..\Program Files (x86)\Microsoft Visual Studio\2017\EDITION\Common7\Tools\vsdevcmd\ext\vcvars.bat (using Adam's syntax, replace EDITION with the version of Visual Studio you use).
For simplicity, you can use %VSAPPIDDIR% in your call to point to the IDE folder where devenv.exe is located, and go back one folder to define your path to the batch file. For example:
call "%VSAPPIDDIR%..\Tools\vsdevcmd\ext\vcvars.bat"
If its any help to anyone...
If you modify your Visual Studio 2017 installation to install the component:
"VC++ 2015.3 v140 toolset for Desktop (x86,x64)"
then the 'VSVars32.bat' file which is missing, will be installed (as its a component of VC++ 2015, but not VC++ 2017).
I am not able to publish to azure my web api, after updated Visual studio 2015 update 3.
The error message says:
The “PublishTelemetry” task could not be loaded from the assembly
C:\Program Files
(x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll.
Confirm that the declaration is correct, that the assembly and all its
dependencies are available
I have found the fix here. I edited with admin rights, the file
C:\Program Files
(x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets
and removed the tag PublishTelemetry and its using tag. After edition, I restarted visual studio. Now I am able to deploy again.
Even after editing the admin rights it wasn't working so I just install the MSBuild.Microsoft.VisualStudio.Web.targets from NuGet.
I downloaded the MSBuild.Microsoft.VisualStudio.Web.targets package from NuGet and replaced the C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web folder with MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3\tools\VSToolsPath\Web folder from tha package.