You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by "John R. Fallows (JIRA)" <ji...@apache.org> on 2011/05/02 22:33:03 UTC

[jira] [Commented] (NPANDAY-412) Execuable path for Windows 7 SDK is not auto-detected when npanday-settings.xml is generated, resgen.exe not found

    [ https://issues.apache.org/jira/browse/NPANDAY-412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027887#comment-13027887 ] 

John R. Fallows commented on NPANDAY-412:
-----------------------------------------

Although I had .Net v2.0.50727 (runtime) and .Net 3.5SP1 (runtime and SDK) installed, I did _not_ have .Net v2.0.50727 (SDK) installed, which contains the missing resgen.exe.  Neither of the two registry keys listed above were present in my system.

Note: just as a point of information, ResGen.exe is also distributed with the Windows 7 SDK.
{code}
C:\Users\jfallows>dir "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ResGen.exe
 Directory of C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin

11/07/2007  12:01 PM            62,456 ResGen.exe
{code}

However, the recommendation to use .Net 2.0 instead seems better, and ResGen.exe was installed as part of the .Net v2.0.50727 SDK from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=FE6F2099-B7B4-4F47-A244-C96D69C35DEC.

{code}
C:\Users\jfallows>dir "C:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin\ResGen.exe"
 Volume in drive C has no label.
 Volume Serial Number is DC46-219D

 Directory of c:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin

09/23/2005  06:56 AM            49,152 ResGen.exe
{code}

After installing .Net v2.0.50727, the automatically regenerated npanday-settings.xml did not automatically include the path references to the newly installed .Net v2.0.50727 SDK either.

Finally, I rebuilt NPanday trunk in an Administrator VS2008 command prompt to make sure I have the absolute latest code executing to generate npanday-settings.xml.

The automatically regenerated npanday-settings.xml still did not contain any path references to the v2.0 SDK.  Therefore this caused a build failure when resgen.exe could not be located.

In order to get everything working again, I needed to manually add the v2.0 SDK path (as shown below) allowing resgen.exe to be located successfully.

{code}
<?xml version="1.0" encoding="utf-8"?>
<npandaySettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <operatingSystem>Microsoft Windows NT 6.1.7600.0</operatingSystem>
  <defaultSetup>
    <vendorName>MICROSOFT</vendorName>
    <vendorVersion>2.0.50727</vendorVersion>
    <frameworkVersion>2.0.50727</frameworkVersion>
  </defaultSetup>
  <vendors>
    <vendor>
      <vendorName>MICROSOFT</vendorName>
      <vendorVersion>2.0.50727</vendorVersion>
      <frameworks>
        <framework>
          <frameworkVersion>2.0.50727</frameworkVersion>
          <installRoot>C:\Windows\Microsoft.NET\Framework64\v2.0.50727</installRoot>
          <executablePaths>
            <executablePath>c:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin</executablePath>
          </executablePaths>
        </framework>
      </frameworks>
    </vendor>
    <vendor>
      <vendorName>MICROSOFT</vendorName>
      <vendorVersion>3.0</vendorVersion>
      <frameworks>
        <framework>
          <frameworkVersion>3.0</frameworkVersion>
          <installRoot>C:\Windows\Microsoft.NET\Framework64\v3.0</installRoot>
          <executablePaths>
            <executablePath>C:\Windows\Microsoft.NET\Framework64\v2.0.50727</executablePath>
            <executablePath>c:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin</executablePath>
          </executablePaths>
        </framework>
      </frameworks>
    </vendor>
    <vendor>
      <vendorName>MICROSOFT</vendorName>
      <vendorVersion>3.5</vendorVersion>
      <frameworks>
        <framework>
          <frameworkVersion>3.5</frameworkVersion>
          <installRoot>C:\Windows\Microsoft.NET\Framework64\v3.5</installRoot>
          <executablePaths>
            <executablePath>C:\Windows\Microsoft.NET\Framework64\v2.0.50727</executablePath>
            <executablePath>c:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin</executablePath>
          </executablePaths>
        </framework>
      </frameworks>
    </vendor>
  </vendors>
</npandaySettings>
{code}

Searching the registry did not produce any keys that would indicate the install root for the v2.0 SDK.

> Execuable path for Windows 7 SDK is not auto-detected when npanday-settings.xml is generated, resgen.exe not found
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: NPANDAY-412
>                 URL: https://issues.apache.org/jira/browse/NPANDAY-412
>             Project: NPanday
>          Issue Type: Bug
>          Components: Maven Plugins
>    Affects Versions: 1.3.1-incubating
>         Environment: C:\Users\jfallows>mvn -v
> Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700)
> Java version: 1.6.0_24
> Java home: C:\Progra~1\Java\jdk1.6.0_24\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7" version: "6.1" arch: "amd64" Family: "windows"
>            Reporter: John R. Fallows
>            Assignee: Lars Corneliussen
>             Fix For: 1.3.1-incubating
>
>
> The executable paths in npanday-settings.xml make it unnecessary to manually modify the command shell path for executables such as mcs.exe, xsd.exe, etc.
> However, resgen.exe is also needed during the NPanday project lifecycle, but is distributed with Windows SDK rather than .Net SDK.  To address this, the executable path can be updated for each vendor entry to include a reference to the Window SDK location such that resgen.exe can be found via executablePath at runtime.
> When npanday-settings.xml is generated, these executablePath entries are not present, causing issues when resgen.exe cannot be located, while all the other executables can be located successfully.
> See below for an example:
> {code}
> <?xml version="1.0" encoding="utf-8"?>
> <npandaySettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <operatingSystem>Microsoft Windows NT 6.1.7600.0</operatingSystem>
>   <defaultSetup>
>     <vendorName>MICROSOFT</vendorName>
>     <vendorVersion>2.0.50727</vendorVersion>
>     <frameworkVersion>2.0.50727</frameworkVersion>
>   </defaultSetup>
>   <vendors>
>     <vendor>
>       <vendorName>MICROSOFT</vendorName>
>       <vendorVersion>2.0.50727</vendorVersion>
>       <frameworks>
>         <framework>
>           <frameworkVersion>2.0.50727</frameworkVersion>
>           <installRoot>C:\Windows\Microsoft.NET\Framework64\v2.0.50727</installRoot>
>           <executablePaths>
>             <executablePath>C:\Program Files\\Microsoft SDKs\Windows\v6.0A\bin</executablePath>
>           </executablePaths>
>         </framework>
>       </frameworks>
>     </vendor>
> ...
>   </vendors>
> </npandaySettings>
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira