以前一直使用2005,最近才接触2008,原来的工程都可以直接升级到C#3.0很是高兴,但是在制作安装项目时,我无法按照2005的方法自定义“系统必备”内容了。在2005中我可以通过在C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages中增加项目,编写相应的xml文档就可以添加自定义的系统必备,但是在2008中找不到相应的位置,不知道在新的环境下如何配置?谢谢

解决方案 »

  1.   

    用SVN,提交的时候可以看到。
      

  2.   

    在开发环境中选中你的解决方案右键->属性->发布->系统必备

    在开发环境中项目->你的项目+属性(菜单最后一项)->发布->系统必备
      

  3.   

    VS项目上右键属性=>应用程序=>目标.NET framework 
    在setup项目上右键=>视图=》启动条件=》右键.net framework属性=》修改Version
    上面这两个是设置项目的.NET framewor版本在setup项目上右键=>属性=》系统必备,这个是选择打包什么版本的.NET FRAMEWORK
      

  4.   

    大家还是没明白我的意思,我是想在这个系统必备列表中增加自己的设置。例子就是我的工程用到了access2007,我想在系统必备中增加ACE12的检验
      

  5.   

    加分了!我根据MSDN的指示,在注册表中找到HKLM\Software\Microsoft\.NET Framework\sdkInstallRootv2.0项,发现VS2008和VS2005的系统必备都指向相同的位置。所以现在新的问题来了,我在VS2005中设置好两个添加项在VS2008环境下无法识别,一个显示有问题,另一个压根就没出现在列表里。这两个添加项的product.xml如下,万能的CSDN帮我看看哪儿出了问题第一个,添加到是Sentinel加密锁的驱动
    <?xml version="1.0" encoding="utf-8" ?> 
    <Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="SentinelProtection7.5.0">
      <!-- Defines list of files to be copied on build -->
      <PackageFiles>
        <PackageFile Name="Sentinel Protection Installer 7.5.0.exe"/>
      </PackageFiles>
      <InstallChecks>
        <RegistryCheck Property="SentinelInstalled" Key="HKLM\SOFTWARE\Safenet Sentinel\SentinelProtectionServer" Value="CurrentVersion"/>
      </InstallChecks>
      <Commands Reboot="Defer">
        <Command PackageFile="Sentinel Protection Installer 7.5.0.exe" Arguments='/S /v/qn'>
          <InstallConditions>
            <BypassIf Property="SentinelInstalled" Compare="ValueGreaterThanOrEqualTo" Value="7.5.0"/>
            <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
          </InstallConditions>
          <ExitCodes>
            <ExitCode Value="0" Result="Success"/>
            <ExitCode Value="3010" Result="SuccessReboot"/>
            <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
          </ExitCodes>
         </Command>
      </Commands>
    </Product>
    第二个,是office2007 access的ace引擎
    <?xml version="1.0" encoding="utf-8" ?> 
    <Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="ACE12">
      <!-- Defines list of files to be copied on build -->
      <PackageFiles>
        <PackageFile Name="AccessDatabaseEngine.exe"/>
      </PackageFiles>
      <InstallChecks>
        <RegistryCheck Property="ACEInstalled" Key="HKLM\SOFTWARE\Classes\Microsoft.ACE.ACERCLR.12.0\CLSID"/>
      </InstallChecks>
      <Commands Reboot="Defer">
        <Command PackageFile="AccessDatabaseEngine.exe" Arguments='/quiet'>
          <InstallConditions>
    <BypassIf Property="ACEInstalled" Compare="ValueEqualTo" Value="{FE9CDADA-F510-49E7-B176-A2304EF2901D}"/>
            <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
          </InstallConditions>
          <ExitCodes>
            <ExitCode Value="0" Result="Success"/>
            <ExitCode Value="3010" Result="SuccessReboot"/>
            <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
          </ExitCodes>
        </Command>
      </Commands>
    </Product>