MSDN > 論壇首頁 > MSBuild > ClickOnce bootstrapper files without installing Visual Studio?
發問發問
 

已答覆ClickOnce bootstrapper files without installing Visual Studio?

  • 2008年10月31日 下午 04:40kaffekop 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Hello,

    I also asked this question here: http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=4065767&SiteID=1

    On a build server I want to deploy and publish a ClickOnce application. On the build server I want to prevent having Visual Studio installed.

    I installed the 6.1 SDK on the server, but there exists no bootstrapper files in C:\Program Files\Microsoft SDKs\Windows\v6.1. This causes my ClickOnce build to fail.

    Thanks in advance.

解答

  • 2008年11月12日 上午 06:20Rong-Chun ZhangMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆包含代碼

    Hi,

    Sorry for that doesn't work. The _DeploymentGenerateBootstrapper target use the task GenerateBootstrapper to generate a custom Setup.exe that can download and install the package that you choose as the prerequisite. The path attribute of the task GenerateBootstrapper indicates that where to find the bootstrapper packages. By default, if you didn't set the value, GenerateBootstrapper task will get value from the following registry (for .NET 3.5, more information, please see this page).

         HKLM\Software\Microsoft\GenericBootstrapper\3.5

    Please check if you have add the following registry

         Key Name:          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5

         Value 0
          Name:            Path
          Type:            REG_SZ
          Data:            c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\

    Another workaround is that you can specify the Path attribute by overriding the _DeploymentGenerateBootstrapper target or write your own target to use the GenerateBootstrapper use to generator the bootstrapper. Here is a sample for overiding predefined target.

    http://blogs.msdn.com/msbuild/archive/2006/02/10/528822.aspx

    Let me know if this helps.

    Thanks,
    Rong-Chun Zhang


    Please mark the replies as answers if they help and unmark if they don't.

所有回覆

  • 2008年11月3日 上午 07:49marc_gsi 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Windows SDK? I think you'll need the .net SDK, at least version 2.0. Or is it included in the Windows SDK?
    http://blogoscoped.com/archive/2005-08-24-n14.html
  • 2008年11月3日 上午 07:51kaffekop 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    I have both .NET SDK and Windows SDK installed. 
  • 2008年11月5日 上午 10:07Rong-Chun ZhangMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    Hi,

    For Visual Studio 2008, the prerequisites package is stored in the following location:

       \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

    You can try to copy these file from the another computer which has Visual Studio 2008 installed, and put them to the same location on build server. More information, please check:

    http://msdn.microsoft.com/en-us/library/ms165429.aspx

    Let me know if this works.

    Thanks,
    Rong-Chun Zhang


    Please mark the replies as answers if they help and unmark if they don't.
  • 2008年11月11日 下午 02:42kaffekop 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Hello,

    Copying the files to the build server did not work. I am still getting (the same) errors from bootstrapping.

  • 2008年11月12日 上午 06:20Rong-Chun ZhangMSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆包含代碼

    Hi,

    Sorry for that doesn't work. The _DeploymentGenerateBootstrapper target use the task GenerateBootstrapper to generate a custom Setup.exe that can download and install the package that you choose as the prerequisite. The path attribute of the task GenerateBootstrapper indicates that where to find the bootstrapper packages. By default, if you didn't set the value, GenerateBootstrapper task will get value from the following registry (for .NET 3.5, more information, please see this page).

         HKLM\Software\Microsoft\GenericBootstrapper\3.5

    Please check if you have add the following registry

         Key Name:          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5

         Value 0
          Name:            Path
          Type:            REG_SZ
          Data:            c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\

    Another workaround is that you can specify the Path attribute by overriding the _DeploymentGenerateBootstrapper target or write your own target to use the GenerateBootstrapper use to generator the bootstrapper. Here is a sample for overiding predefined target.

    http://blogs.msdn.com/msbuild/archive/2006/02/10/528822.aspx

    Let me know if this helps.

    Thanks,
    Rong-Chun Zhang


    Please mark the replies as answers if they help and unmark if they don't.
  • 2008年11月14日 上午 08:03kaffekop 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Thanks. Adding the registry key made it work.
  • 2009年5月14日 下午 09:14Dan Morris 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    BTW, I had the same problem, and for me the issue was that somehow the Windows SDK had been _partially_ installed on one drive, but Visual Studio was looking on a different drive.  Re-installing the SDK didn't help, because I _did_ have the SDK installed.  So I just moved the entire contents of:

    C:\Program Files\Microsoft SDKs\Windows

    ...to:

    D:\Program Files\Microsoft SDKs\Windows

    And everything worked fine.

    Moral of the story: check for traces of multiple SDK installations if you're having this problem.

    -Dan