"Shallow Folder Structure" InstallShield Option in Visual Studio 2012 - visual-studio-2012

I am building a setup project using InstallShield Limited Edition in Visual Studio 2012. The setup build requires some merge modules that ultimately result in a long path name for the build. I am currently using ISProjectFolder as my Release Location, which resolves to the top-level folder in the setup project. Here is an example of one of the errors I am getting:
Error 1 -6307: Unable to extract one or more files to
'C:\Users\UserName\Documents\Visual Studio
2012\Projects\MyProject\MyProjectSetup\Express\Interm\MergeModules\policy_9_0_Microsoft_VC90_CRT_x86.644DE414_7746_31B5_908B_E938B4078584'.
The file path is longer than the limit set by the operating system.
Change the build location of the current release to a shorter path to
resolve this issue. ISEXP : error : -6307: Unable to extract one or
more files to 'C:\Users\UserName\Documents\Visual Studio
2012\Projects\MyProject\MyProjectSetup\Express\Interm\MergeModules\policy_9_0_Microsoft_VC90_CRT_x86.644DE414_7746_31B5_908B_E938B4078584'.
The file path is longer than the limit set by the operating system.
Change the build location of the current release to a shorter path to
resolve this issue.
This is occurring because, as the error states, the file path for the build is too long. As I stated above, I am using the InstallShield Limited Edition that comes with Visual Studio 2012. I have read in various online forums that it helps to change the Build option to "Shallow Folder Structure," but I cannot find this option in InstallShield Limited Edition that comes with Visual Studio 2012. I believe it should be on the Build Tab of the Releases page, but I do not see it there:
I can workaround this problem by explicitly setting the build location to a shorter path, such as my Desktop, but this is not an elegant solution as I would prefer to keep the build output within my setup project folder. Any help would be appreciated.

This looks old but I case someone stumbled upon this issue I have a workaround without moving the files. All you need is to map your project folder as a local drive.
So something like this
F:\Projects\Super Long Project Folder Path v2\Super Long
Project Form
Can be mapped using localhost like such
\localhost\F$\Projects\Super Long Project Folder Path v2\Super Long
Project Form
Will be come like this
Z:\
Now open your project in that mapped drive rather than from the long location path

Related

The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly

After installing Slow Cheeath (v. 2.5.10.3) to two projects in my solution, I am receiving the following error:
"The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly C:\Users
\User\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll. Could
not load file or assembly 'file:///C:\Users\User\AppData\Local\Microsoft\MSBuild
\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot
find the file specified. Confirm that the <UsingTask> declaration is correct, that the
assembly and all its dependencies are available, and that the task contains a public
class that implements Microsoft.Build.Framework.ITask. ISA.IMPD.FalseAlarm.Web.Portal"
I have removed both projects in their entirety (along with Slow Cheetah), re-installed both projects (along with Slow Cheetah), and Rebuilt the solution to no avail. Can anyone help with this type of error?
In my case the error occured while compiling a web project. The folder
%userprofile%\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2
was empty. All the SlowCheetah components were in SlowCheetah\v1 folder instead. I've copied all files from V1 folder to v2.5.10.2 and everything compiled and transformed fine. To make non web projects compile, I also had to delete V1 folder as suggested by Whoever in this thread.
This was a brand new installation of the SlowCheetah Extension and I did not expect the v1 folder to exist at all. I believe this was a bug in the extension installation for Visual Studio 2012.
delete
AppData\Local\Microsoft\MSBuild\SlowCheetah\v1
I seem to have found to solution to this problem.
Here's what I did:
You need to close Visual Studio, then navigate to:
C:\Users\username\AppData\Local\Microsoft\VisualStudio\11.0\Extensions
Delete the cache file that has the latest date and time
Open Visual Studio and remove Slow Cheetah from the Solution level
Re-install Slow Cheetah from the solution level to the desired projects.
This was failing on our build server, so I changed the revision number from:
<sc-MSBuildLibPathLocal Condition=" '$(sc-MSBuildLibPathLocal)'=='' ">$(LocalAppData)\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\</sc-MSBuildLibPathLocal>
To:
<sc-MSBuildLibPathLocal Condition=" '$(sc-MSBuildLibPathLocal)'=='' ">$(LocalAppData)\Microsoft\MSBuild\SlowCheetah\v2.5.10.3\</sc-MSBuildLibPathLocal>
Why it was pointed to v2.5.10.2 is a mystery, but I'm definitely using v2.5.10.3! Looks like the nuget package itself has the bug in it.
I resolved it like this:
Uninstall slowcheetah => Tools>Extensions and Updates
click OK when VS asks you to restart VS.
in "C:\Users\AppData\Local\Microsoft\MSBuild\SlowCheetah" remove the 'v1' folder (which windows automatically creates when restarting your VS) (here be dragons..)
reïnstall slowcheetah (see step 1) => a new folder v2.5.10.2 will be created.
Again, click OK when he asks to restart
Build your solution
Regards,
Peter
This problem went away for me after using the preview transformation feature in the context menu. Originally suggested here.
FYI this was on VS 2010 Premium.
Having multiple versions can lead to conflicts.
In my case I have installed both Microsoft.VisualStudio.SlowCheetah by Microsoft and SlowCheetah by Sayed Ibrahim Hashimi. After uninstalling the package from Microsoft everything went well.
I have deleted the old files in C:\Users\\AppData\Local\Microsoft\MSBuild\SlowCheetah\v1. I also needed to upgrade Visual Studio 2012 to update 4 to make it work.
I was able to fix this issue by doing the following:
Uninstalling the SlowCheetah extension from the TOOLS > Extensions and Updates... menu
Closing Visual Studio
Deleting all files in the "C:\Users\username\AppData\Local\Microsoft\VisualStudio\11.0\Extensions" folder
Opening Visual Studio
Reinstalling SlowCheetah from the TOOLS > Extensions and Updates... menu (which requires a Visual Studio restart)
This is using Visual Studio 2012 Premium with Update 4 and SlowCheetah version 2.5.10.
If you're getting this error on a TFS Build Server (in my case TFS Express 2013) then you will need to copy over the files from your local machine
C:\Users\SWEAVER\AppData\local\Microsoft\MSBuild\SlowCheetah
on your machine to whichever user your TFS build is running under
C:\users\TFSBuild\AppData\Local\Microsoft\MSBuild\SlowCheetah
Please note AppData is a hidden directory that you may not see, but just type the name and hit enter and it will come up.
I'm using VS2013 so I didn't copy v1 (I think v1 is for VS2012).
The original TFS error I got was :
C:\Builds\1\www.XXXXX.com\RRStore - XXXXX
Silverlight\Sources\RRStore.AdminConsole\Properties\SlowCheetah\SlowCheetah.Transforms.targets
(150): The "SlowCheetah.Xdt.TransformXml" task could not be loaded
from the assembly
C:\Users\TFSBuild\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll.
Could not load file or assembly
'file:///C:\Users\TFSBuild\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll'
or one of its dependencies. The system cannot find the file specified.
Confirm that the declaration is correct, that the assembly
and all its dependencies are available, and that the task contains a
public class that implements Microsoft.Build.Framework.ITask.
Fortunately this error told me exactly where to place the files.
I had the same problem in Visual Studio 2013. Just install SlowCheetah NuGet package:
https://www.nuget.org/packages/SlowCheetah
They've released a new version which brings the installation procedure up to date:
https://blogs.msdn.microsoft.com/visualstudio/2017/05/25/whats-new-and-improved-with-the-slowcheetah-extension/
Tired of having to install your NuGet packages manually to get
SlowCheetah to work? We’ve added automatic NuGet installation to help
streamline your process. All you need to install is the latest
extension and SlowCheetah will take care of the rest. When you use
SlowCheetah for the first time in a project, it will prompt you to
install or update NuGet packages. Agree and you’re ready to go!
Close Visual Studio
Install the VISX extension
Open your project.
This version detects if you already have it installed and offers to upgrade.
I would recommend checking in to source control and then doing a compare of your .csproj file to see what changes it made.

Unable to edit resources or create .aps file in Visual Studio 2005

I recently migrated a large-scale VS2005 solution to a new development machine running the same version of VS2005, and everything is linking and compiling without any problems. However, when I attempt to edit any of the project resources (e.g. 'projectname.rc') using the resource editor, I receive the following error message:
"Visual C++ Win32 Resource Editors
The Resource File is corrupted, or the editor for this type of file is not available. Create another resource file or install an editor, then try again."
I've attempted to rectify the problem a number of ways, and noted the following details:
I can confirm that a blank, newly created resource file can be created and edited successfully in the environment.
The entire solution has been cleaned, intermediate files deleted, and rebuilt.
Intermediate resource scripts (projectname.rc and projectname.res) can be opened in an external resource editor (e.g. ResEdit), and I can confirm that these scripts have been correctly generated
The binary resource file (projectname.aps) is NOT successfully generated. A 0-byte file is created when attempting to launch the resource editor, but is immediately deleted upon receiving the "Resource file corrupted..." error listed above. I suspect that this is the crux of the problem
As noted in this thread (http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/e4ef7904-0947-4792-aa4a-b28077146d02), all include paths have been modified to ensure that none include trailing backslash characters
I'm eager to hear if anyone has any suggested solutions or further steps; in a nutshell, it seems that the IDE is failing to create a binary resource file for use with the Resource Editor, despite the solution compiling and executing without errors
IDE details:
Microsoft Visual Studio 2005 Version 8.0.50727.42 (RTM.050727-4200)
Microsoft .NET Framework Version 2.0.50727
Installed Edition: Standard
Microsoft Visual C++ 2005 77633-235-0000007-41284
If anyone is having the same problem, I've solved this. For me, the issue was with rcxdti.dll, the .RC extension compiler, found in \VC\vcpackages.
By replacing the original rcxdti.dll with a more recent version of the file from my installation of Visual Studio 2010, all .RC resource files are now fully editable and open without any problems in the resource editor.
Regarding the root cause, I doubt that the DLL was currupt, since it was a brand new VS2005 installation. I suspect that it was more likely to be a subversion incompatibility between the rcxdti.dll files of two Visual Studio 2005 development machiens. Of course, if anyone has a better idea of the root cause, I'm very eager to hear it.

VS 2012 takes System.Net.Http.dll from framework and NOT the NuGet version when referencing?

I'm using the Microsoft ASP.NET Web API in Visual Studio 2012 Windows 7 desktop app. I downloaded them from Nuget on 25th Jan 2013.
I'm manually referencing the DLLs in a project, however when adding a reference to the two files: System.Net.Http.dll and System.Net.Http.WebRequest.dll, visual studio seems to override this and take them from the folder C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Net.Http.dll and not the folder I specified C:\MyFolder\System.Net.Http.dll ?
I know this because I look at the Path in the Properties page for the files. All the other files work OK. This bothers me, because they are completely different file sizes, etc.
Why is this hapenning?
As a work-around, I suppose I can set the 'Copy Local' property to 'True' (it looks like the files are then copied from the .NET 4.5 Framework folder into my executable's output folder), and then I can manually copy-replace them with the new ones from nuget, but this seems very long winded and still leaves me puzzled as to why I need to do this?
Can anyone assist?
The System.Net.Http assembly (and some others) are strongly named, meaning VS will always load it from GAC as long as it has the same version number as the reference.
You can read more about the binding process here: http://msdn.microsoft.com/en-us/library/yx7xezcf.aspx

Where's per-project TargetPlatformVersion?

I have a Visual Studio 2012 solution with a Windows Phone 8 C# project and a Windows Phone 8 C++ library. I've moved it to a different computer. Now, when I try to open the solution, the library project fails to load with the following message in the console:
MyLib.vcxproj : error : Unable to read the project file "MyLib.vcxproj".
MyLib.vcxproj(620,3): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\WindowsPhone\v7.0\Microsoft.Cpp.WindowsPhone.7.0.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
When I look into the project file, I find the following on line 620:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
So it looks like the value of environment variable TargetPlatformVersion is somehow off.
Then I've created another solution on this machine, also C#/C++ combo. That one opens and compiles and runs, nae problemo. Looking at the project file in the newly created library, it has an identical <Import> line near the end.
Now, the solution copying might have been not perfect. I did not copy all files - just what I thought were the relevant ones - the .sln, the .vcxproj., but not the .sdf and not the .suo.
It looks like something was missing - a file that defined the value of TargetPlatformVersion on solution or project level was not copied, and now Visual Studio is picking a wrong default. Needless to say, WP7.0 has nothing to do with it, it's all WP8.
Any idea where could this setting reside? There's no mention of TargetPlatformVersion in neither project nor solution.
It went away on its own after a few reopens and other meaningless actions. Ooky, spooky stuff. No idea why. SVN does not detect any changes to project files.
I had this problem too, and the solution was to install the latest SDK for Windows Phone (SDK V8.0 at this time) in the computer (apparently it had a previous version version or not at all installed).
Step1: Replace every occurrence of $(MSBuildExtensionsPath) to 8.0 in your .vcxproj file
Step2: Restart Visual Studio
->Then You will get the error "The builds tools for v120 (Platform Toolset = 'v120') cannot be found"
To fix this:
if you are using visual 2012 right click on project name -> properties -> configuration properties -> general -> platform toolset -> Visual Studio 2012 (v110) or wp-v110
And You will be good to go!
Note: You can then revert the changes from 8.0 to $(MSBuildExtensionsPath) in your project file if you want. (The cause of the error is when you open a vs2012 project or its dependencies in vs2013)

Stanford Engineering Everywhere CS106B Library

I am currently a C# programmer and have been interested in learning more about C++ and data structures. I found the CS106B class offered free online through the Stanford Engineering Everywhere program which seems like it would be a good fit.
I've tried to install the library files they use for the class and keep getting a message that I have to have visual studio 2005 installed for the setup file to run. I don't have 2005, but I've tried the express editions of both vc++ 2008 and vc++2005. Is there any way around this that I can get the proper files installed?
The zip file containing the libraries came with two files, an exe and an msi.
Just got it to work by using some information I found here: http://www.functionx.com/visualc/libraries/staticlib.htm
I'm using Visual C++ 2008 Express. Here's how I did it:
Download the PC Starter Code ZIP file for Assignment 1 from the
current semester's CS106B class website.
http://www.stanford.edu/class/cs106b/ In that file you'll find a
folder named "StanfordCPPLib". In that folder, you'll need the
StanfordCPPLib.lib and the *.h files you want to include.
In Visual Studio, create a new project (File -> New -> Project). Select a Win32
Console Application, choose a name, and click Next.
When the Application Wizard pops up, click Next (not Finish). In the
Application Settings, check the box marked "Empty Project". Click
Finish.
In the Solution Explorer, right click on the Source folder and
create a new .cpp file. (Add -> New Item -> Code -> C++ File)
Find your new project's folder in Windows Explorer. In that folder,
you should be able to find your new .cpp file you just created.
Paste the StanfordCPPLib.lib and your needed *.h files you
downloaded earlier into the same folder that contains your new .cpp file.
Finally, you need to add the library to our new project. In Visual Studio, using
the main menu, click Project -> Add Existing Item. The dialog should
default to your project's folder where you just pasted
StanfordCPPLib.lib. Select StanfordCPPLib.lib and click Add.
You should now be able to add an #include "example.h" for whatever .h files you copied into your project folder.
Note: Since you'll be using a newer version of Stanford's custom library, there may be some small differences between the original handouts and the new library. For instance, when using #include "simpio.h", the handouts list a function called GetLine(). In the new library, that function is capitalized differently: getLine(). Make sure you check the header files for correct syntax/usage.
Thanks to Dani, with his help, I succeed in installing the library on vs2008(both express and professinal are OK) on win7. With Dani's help,
I have finished the first three assignments in cs106X(winter2010) - life, ADT, boggle - so far.
I'm just a undergraduate in China, thanks so much to the great education of stanford and power of internet.
http://abloggingattempt.blogspot.com/2010/05/stanford-cs106-lib-and-vs2008-express.html
the following are copied mainly from Dani's blog.
Stanford CS106 Lib and VS2008 Express
The CS106B is a great CS Stanford course available online (iTunes e.g.) in video and for free. All assignments and the course itself use an in-house developed library (not sure if it has a name, cslib, cs106 lib, dunno) available in all of the assignment zips as well as installable with the Xcode/VS2005 wizard installs. The problem - the VS custom wizard will install on VS2005 only (could be that a newer version exists but I couldn't find one). So how to port the VS wizard to VS2008 Express(professional)?
- I got the 2005 custom wizard setup, PCLibs-VS2005-ADT-Installer.zip and used a small tool , the LessMSIerables(Universal Extractor also works well) in order to extract the contents of the msi file. The msi contains four folders with all the stuff needed to create a new custom wizard. So, the tool extracted the following:
SourceDir
|- Includes Folder
|- Library Folder
|- Project Folder
|- Wizard Folder
Now some copying:
The CS106CPPInc folder inside the 'Includes Folder' goes to
C:\Program Files\Microsoft Visual Studio 9.0\VC\include (as a subfolder!)
'Library Folder'\CS106CPPLib.lib goes to
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
'Wizard Folder\AppWiz\CS106 Assignment Wizard' to
C:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz
(meaning CS106... should appear as a sub-folder of AppWiz)
The three files in 'Project Folder' will go into
C:\Program Files\Microsoft Visual Studio 9.0\VC\Express\VCProjects\Stanford. One of those three files, the CS106 Assignment Wizard.vsz, needs to be edited (a text file) and its second line should become:
Wizard=VsWizard.VsWizardEngine.9.0
Was having the same problem. I found both the .h and the .c files online.
You can find them here:
http://www.ime.usp.br/~pf/Roberts/C-library/standard/cslib/
I suggest to go to the CS106B page directly:
http://www.stanford.edu/class/cs106b/
And grab newest assignments. They are compatible with VS 2008.
The assignment material from SEE is outdated (VS 2005). The assignments are not discussed in the video, so you won't miss anything by doing that.
Just download from the CS106B page and open in VS 2008, that will work!
Reading through handout 5P makes it seem like the installer will expect the file structure VS2005 will create - especially this sentence: "Run (and quit) Visual Studio (you can go ahead and register your copy if it asks you). It is important that you have done this at least once before proceeding to the next step."
Try creating a folder structure like: (under "My Documents") "Visual Studio 2005\Projects" and see if setup.exe will work.
I am using visual studio express, and all I did was to just unzip the files it works fine.. here I have done the CS106B assignment with also the full zip'd up files of that assignment as well, all I did was to uncompress the assignment from the cs106b website and open up the sln (solution) file within visual studio express.
There is no c++ library available for cs106b in unix system. I hope they publish the library in source.

Resources