Building the Installer

Nov 13, 2014 at 11:35 AM
Hi again

I am trying to build the installer as directed but when I run the release script like this powershell -ExecutionPolicy RemoteSigned .\BuildRelease.ps1 D:\PTVS_Out -skiptests I get the following errors:

C:\ptvs_2.1\Python\Setup\WixGenerator.targets(107,23): error MSB4064: The "Encoding" parameter is not supported by the "WriteLinesToFile" task. Verify the parameter exists on the task, and it is a settable public instance property. [C:\ptvs_2.1\Python\Setup\PythonTools\PythonToolsFiles.proj]

and

C:\ptvs_2.1\Python\Setup\WixGenerator.targets(105,5): error MSB4063: The "WriteLinesToFile" task could not be initialized with its input parameters. [C:\ptvs_2.1\Python\Setup\PythonTools\PythonToolsFiles.proj]

Thanks in advance
Coordinator
Nov 13, 2014 at 1:10 PM
It sounds like you're using VS 2010? You're probably best off just removing the Encoding attribute that it doesn't like. We're don't necessarily support building with anything but the latest tools (regardless of the version being targeted).

In this case, you may also need to update the XML encoding line that the WixGenerator.targets creates if the encoding on VS 2010 is not UTF-8/ASCII, but I think this won't be an issue.
Marked as answer by GothNerd on 11/13/2014 at 11:48 PM
Nov 14, 2014 at 6:48 AM
Thanks, removing it worked. But now I get this error:

"C:\ptvs_2.1\Python\Setup\dirs.proj" (Rebuild target) (1) ->
   "C:\ptvs_2.1\Python\Setup\PythonToolsInstaller\PythonToolsInstaller.wixproj" (Build target) (6:2) ->
   (Compile target) -> 
     candle.exe : error CNDL0144: The extension 'C:\ptvs_2.1\Python\Setup\PythonToolsInstaller\WixUIExtension' could not be loaded because of the following reason: Could not load file or assembly 'file:///C:\ptvs_2.1\Python\Setup\PythonToolsInstaller\WixUIExtension' or one of its dependencies. The system cannot find the file specified. [C:\ptvs_2.1\Python\Setup\PythonToolsInstaller\PythonToolsInstaller.wixproj]


   "C:\ptvs_2.1\Python\Setup\dirs.proj" (Rebuild target) (1) ->
   "C:\ptvs_2.1\Python\Setup\FastCgiInstaller\FastCgi.wixproj" (Build target) (7:2) ->
     candle.exe : error CNDL0144: The extension 'C:\ptvs_2.1\Python\Setup\FastCgiInstaller\WixUIExtension' could not be loaded because of the following reason: Could not load file or assembly 'file:///C:\ptvs_2.1\Python\Setup\FastCgiInstaller\WixUIExtension' or one of its dependencies. The system cannot find the file specified. [C:\ptvs_2.1\Python\Setup\FastCgiInstaller\FastCgi.wixproj]
The assembly it is looking for is not in the folder, do you know where I can download it?
Nov 14, 2014 at 7:56 AM
I managed to get rid of that error and it installed with 24 Warning(s) and 0 Error(s). But at the bottom it says

Time Elapsed 00:02:23.05
Restored C:\ptvs_2.1\Python\Product\AssemblyVersion.cs
Copy-Item : The device is not ready.
At C:\ptvs_2.1\Python\Setup\BuildRelease.ps1:427 char:22
  • Copy-Item <<<< -force $bindir\en-us*.msi $destdir\
    • CategoryInfo : NotSpecified: (:) [Copy-Item], IOException
    • FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.CopyIt
      emCommand
I guess this is an error since it is red. Ever encountered such an error?
Coordinator
Nov 14, 2014 at 1:58 PM
WixUIExtension should be in our Tools/Wix/3.7 folder. It will be necessary for the installer to work, so I hope you found it there.

I haven't seen that error, but it sounds like a hardware issue. Did you pass "D:\PTVS_Out" like in your first post? You may need to change it if you don't have a D drive you can write to.
Coordinator
Nov 14, 2014 at 2:50 PM
You may also be interested in the latest version of the code I just pushed, I've done a lot of work on build recently and it should be faster and smoother.

Also, you should know that we're probably going to stop supporting VS 2010 and VS 2012 for our next release, which means when we check in code we won't test whether it builds or works against those tools (and I'm pretty sure what's currently at the tip won't build with VS 2010, though it should be easy to fix). We're discussing this right now within our team, and since you're using VS 2010 we'd appreciate your input (e.g. why are you building for 2010? Are later versions an option? Why not? How can we best maintain our code so people who need 2010 can build it? etc.), either here or you can email ptvshelp@microsoft.com.
Nov 17, 2014 at 6:20 AM
ah yes you were right... Thanks a lot for the help
Dec 4, 2014 at 11:13 AM
Hey, I had to format my PC and i am doing the whole building the installation and I'm getting this error:

TemplateParsing\TemplateArtifactCollection.cs(32,61): error CS0115: 'Microsoft.PythonTools.Django.TemplateParsing.TemplateArtifactCollection.SeparatorInfo': no suitable method found to override [C:\ptvs_2.1\Python\Product\Django\sebzmp1e.tmp_proj]

I tried googling but it seems like there's nothing on this. Do you by any chance know how I can fix it?
Coordinator
Dec 4, 2014 at 11:56 AM
This is due to a breaking API change in HTML editor APIs that happened in VS 2013 Update 4. It's fixed, but the fix hasn't been pushed to CodePlex yet. If you don't care about supporting earlier VS 2013 versions, then you can just replace #if DEV14_OR_LATER with ``#if DEV12_OR_LATER` in that file, and it should build then.
Dec 4, 2014 at 12:07 PM
The file already had #if DEV12_OR_LATER, is there anything else I can try?
Dec 8, 2014 at 10:09 AM
Can someone please answer this for me
Coordinator
Dec 8, 2014 at 5:07 PM
It has #if DEV12_OR_LATER at the top. The block that I was referring to is another #if block, around the definition of SeparatorInfo/SeparatorsInfo, with a TODO comment - this one is for DEV14_OR_LATER, and you'll want to change it to DEV12_OR_LATER.
Jan 12, 2015 at 9:49 AM
Now I'm getting the following error:

"C:\ptvs_2.1\Python\Setup\dirs.proj" (Rebuild target) (1) ->
   "C:\ptvs_2.1\Python\Setup\Django\Django.wixproj" (Build target) (2:2) ->
   "C:\ptvs_2.1\Python\Product\Django\Django.csproj" (default target) (17) ->
   "C:\ptvs_2.1\Python\Product\PythonTools\PythonTools.csproj" (default target) (22) ->
   "C:\ptvs_2.1\Python\Product\PythonTools\335q0fig.tmp_proj" (_CompileTemporaryAssembly target) (32) ->
   (CoreCompile target) -> 
     CSC : error CS1748: Cannot find the interop type that matches the embedded interop type 'Microsoft.VisualStudio.Shell.Interop.IVsRunningDocumentTable4'. Are you missing an assembly reference? [C:\ptvs_2.1\Python\Product\PythonTools\335q0fig.tmp_proj]
     CSC : error CS1748: Cannot find the interop type that matches the embedded interop type 'Microsoft.VisualStudio.Shell.Interop.IVsRunningDocumentTable4'. Are you missing an assembly reference? [C:\ptvs_2.1\Python\Product\PythonTools\335q0fig.tmp_proj]
     CSC : error CS1748: Cannot find the interop type that matches the embedded interop type 'Microsoft.VisualStudio.Shell.Interop.IVsRunningDocumentTable4'. Are you missing an assembly reference? [C:\ptvs_2.1\Python\Product\PythonTools\335q0fig.tmp_proj]
     CSC : error CS1748: Cannot find the interop type that matches the embedded interop type 'Microsoft.VisualStudio.Shell.Interop.IVsRunningDocumentTable4'. Are you missing an assembly reference? [C:\ptvs_2.1\Python\Product\PythonTools\335q0fig.tmp_proj]

7 Warning(s)
4 Error(s)
I changed the Embedded Type from True to False but it's still giving me that error.
Coordinator
Jan 12, 2015 at 10:04 AM
Are you sure that you've changed it in the right place? It should be a reference to Microsoft.VisualStudio.Shell.Interop.12.0, from the PythonTools project (not Django).
Jan 12, 2015 at 11:09 AM
Oh I see my mistake now.... I changed on the Django project and not the PythonTools project. Everything built properly once I changed it. Thank You very much