Oggi mi sono imbattuto in un problema "grave" del nuovo sp1 del framework.

L'errore si verifica quando si pubblica una applicazione ClickOnce che ha come prerequisito il framework 3.5 sp1 e come opzione di download dei prerequisti "Download prerequisites from the same location as my application".

Questo l'errore:

The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetFX20 aspnet.msp ' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.

Inutile dire il mio sconcerto... Tutti sti frameworks iniziano un po troppo ad incasinarsi...

Il problema sta nel package che si trova in "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1" che non è corretto. Seguendo le istruzioni riportate qui e che riporto anche sotto sarete in grado di fare il deploy correttamente:

 

Update the Package Data

  1. Open the [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 folder or %ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 on x64 operating systems
  2. Edit the Product.xml file in Notepad.
  3. Paste the following into the < PackageFiles > element:
    < PackageFile Name="TOOLS\clwireg.exe" />
    < PackageFile Name="TOOLS\clwireg_x64.exe" />
    < PackageFile Name="TOOLS\clwireg_ia64.exe" />
  4. Find the element for < PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe" and change the PublicKey value to: 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001
  5. Find the element for < PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe" and change the PublicKey value to the same as in step 4 above
  6. Save the product.xml file 

Download and Extract the Core Installation Files

  1. Navigate to the following URL: http://go.microsoft.com/fwlink?LinkID=118080
  2. Download the dotNetFx35.exe file to your local disk.
  3. Open a Command Prompt window and change to the directory to which you downloaded dotNetFx35.exe.
  4. At the command prompt, type:
    dotNetFx35.exe /x:.
    This will extract the Framework files to a folder named “WCU” in the current directory.
  5. Copy the contents of the WCU\dotNetFramework folder and paste them in the %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 folder (%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1 on x64 operating systems). Note: Do not copy the WCU\dotNetFramework folder itself. There should be 5 folders under the WCU folder, and each of these should now appear in the DotNetFx35SP1 folder. The folder structure should resemble the following:
    o DotNetFx35SP1 (folder)
    • dotNetFX20 (folder
    • dotNetFX30 (folder)
    • dotNetFX35 (folder)
    • dotNetMSP (folder)
    • TOOLS folder)
    • en (or some other localized folder)
    • dotNetFx35setup.exe (file)
      You may now delete the files and folders you downloaded and extracted in steps 2 and 4.  
      Package35sp1

 

 

Download the Language Pack Support Files

  1. Refer to the Table below for the download locations.
  2. Navigate to the URL provided, and when prompted, download to the subdirectory of the dotNetFx35SP1 folder that is indicated in the table. Note: You must do this once for the x86, and also the x64 files, even if you do not have to support x64 with your package.

Italian x86 http://go.microsoft.com/fwlink?LinkID=118097

da mettere nella sottodirectory it\DotNetFX35\x86

Italian x64 http://go.microsoft.com/fwlink?LinkID=118115

da mettere nella sottodirectory it\DotNetFX35\x64

 

(le altre lingue le potete prendere dalla tabella allegata a questo link)