none
VS2008制作安装程序的问题 RRS feed

  • 问题

  • 我的程 序用的是.net framework 2.0
    建安装项目时,选的也是.net framework 2.0

    最后生成的安装文件有两个setup.exe,setup.msi
    我有一个虚拟机,里面装了.net framework 2.0,最初,我运行setup.exe要我装3.5,不知道为什么?我想装2.0

    setup.msi安装正常 。

    后来我卸掉了2.0,再装,一点提示没有就装成功了,装好后不能动行。
    怎么回事?
    2009年12月3日 2:18

答案

  • 首先我想说下setup.exe与setup.msi的区别
    setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本 是否安装等,当条件具备后,再用setup.exe调用setup.msi
    而setup.msi则可以直接运行,如果你确定条件都具备的情况下

    根据你的情况,应该是在你建立项目的时候包括安装项目 的设置是3.5 或者你的一些项目中用到了3.5,请你核实一下

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    2009年12月3日 4:43
    版主
  • 没错是环境问题。
    已重装。
    现在的问题是生成的安装包,在安装时
    Component .NET Framework 2.0 (x86) has failed to install with the following error message:
    "???? .NET Framework 2.0 (x86) ????"

    The following components failed to install:
    - .NET Framework 2.0 (x86)

    See the setup log file located at 'C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\install.log' for more information.


    2009年12月4日 8:08
  • 从日志上来看,似乎在安装语言包的时候(在运行“C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\langpack.exe' and parameters ' /q:a /c:"install /l /q”)出的问题。

    有没有试过在其他机器上安装过呢?或者重新做一台新的虚机看一下。
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 male110 2009年12月4日 9:03
    2009年12月4日 8:26

全部回复

  • 首先我想说下setup.exe与setup.msi的区别
    setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本 是否安装等,当条件具备后,再用setup.exe调用setup.msi
    而setup.msi则可以直接运行,如果你确定条件都具备的情况下

    根据你的情况,应该是在你建立项目的时候包括安装项目 的设置是3.5 或者你的一些项目中用到了3.5,请你核实一下

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    2009年12月3日 4:43
    版主
  • 。。。
    我查了,应该没有用到3.5呀。我的项目属性里都是2.0
    2009年12月3日 5:59
  • 用一个空的安装项目试了。
    也是不行的。

    别人都行的。据说是我的VS问题。
    2009年12月3日 6:52
  • 你好!

    能麻烦你查一下:右键点击你的安装项目(Setup Project) >> 属性 >> 系统必备(Prerequisite)。看一下你有没有勾上.NET Framework 3.5?
    或者是“启动条件编辑器”中,把.NET 3.5作为启动条件了?

    希望对你有所帮助!


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年12月4日 8:05
  • 没错是环境问题。
    已重装。
    现在的问题是生成的安装包,在安装时
    Component .NET Framework 2.0 (x86) has failed to install with the following error message:
    "???? .NET Framework 2.0 (x86) ????"

    The following components failed to install:
    - .NET Framework 2.0 (x86)

    See the setup log file located at 'C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\install.log' for more information.


    2009年12月4日 8:08
  • The following properties have been set:
    Property: [AdminUser] = true {boolean}
    Property: [ProcessorArchitecture] = Intel {string}
    Property: [VersionNT] = 5.1.2 {version}
    Running checks for package '.NET Framework 2.0 (x86)', phase BuildList
    Running external check with command 'C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\dotnetchk.exe' and parameters '-lcid:2052'
    Process exited with code 1
    Setting value '1 {int}' for property 'DotNetInstalled'
    Reading value 'Version' of registry key 'HKLM\Software\Microsoft\Internet Explorer'
    Read string value '6.0.2900.2180'
    Setting value '6.0.2900.2180 {string}' for property 'IEVersion'
    The following properties have been set for package '.NET Framework 2.0 (x86)':
    Property: [DotNetInstalled] = 1 {int}
    Property: [IEVersion] = 6.0.2900.2180 {string}
    Running checks for command 'DotNetFX\instmsia.exe'
    Result of running operator 'ValueExists' on property 'VersionNT': true
    Result of checks for command 'DotNetFX\instmsia.exe' is 'Bypass'
    Running checks for command 'DotNetFX\WindowsInstaller-KB893803-v2-x86.exe'
    Result of running operator 'ValueExists' on property 'Version9x': false
    Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.0.3': false
    Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '3.0': true
    Result of checks for command 'DotNetFX\WindowsInstaller-KB893803-v2-x86.exe' is 'Bypass'
    Running checks for command 'DotNetFX\dotnetfx.exe'
    Result of running operator 'ValueNotEqualTo' on property 'DotNetInstalled' and value '0': true
    Result of checks for command 'DotNetFX\dotnetfx.exe' is 'Bypass'
    Running checks for command 'DotNetFX\langpack.exe'
    Result of running operator 'ValueEqualTo' on property 'DotNetInstalled' and value '2': false
    Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
    Skipping FailIf because Property 'Version9X' was not defined
    Result of running operator 'ValueNotExists' on property 'IEVersion': false
    Result of running operator 'VersionLessThan' on property 'IEVersion' and value '5.01': false
    Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.00': false
    Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': false
    Result of checks for command 'DotNetFX\langpack.exe' is 'Install'
    '.NET Framework 2.0 (x86)' RunCheck result: Install Needed
    EULA for components '.NET Framework 2.0 (x86)' was accepted.
    Copying files to temporary directory "C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\"
    Downloading files to "C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\"
    (2009-12-4 16:05:19) Downloading 'DotNetFX\langpack.exe' from 'http://go.microsoft.com/fwlink/?LinkId=37283&clcid=0x804' to 'C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\'
    Download completed at 2009-12-4 16:05:31
    Verifying file integrity of C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\langpack.exe
    WinVerifyTrust returned 0
    File trusted
    Running checks for package '.NET Framework 2.0 (x86)', phase BeforePackage
    Running external check with command 'C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\dotnetchk.exe' and parameters '-lcid:2052'
    Process exited with code 1
    Setting value '1 {int}' for property 'DotNetInstalled'
    Reading value 'Version' of registry key 'HKLM\Software\Microsoft\Internet Explorer'
    Read string value '6.0.2900.2180'
    Setting value '6.0.2900.2180 {string}' for property 'IEVersion'
    The following properties have been set for package '.NET Framework 2.0 (x86)':
    Property: [DotNetInstalled] = 1 {int}
    Property: [IEVersion] = 6.0.2900.2180 {string}
    Running checks for command 'DotNetFX\langpack.exe'
    Result of running operator 'ValueEqualTo' on property 'DotNetInstalled' and value '2': false
    Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
    Skipping FailIf because Property 'Version9X' was not defined
    Result of running operator 'ValueNotExists' on property 'IEVersion': false
    Result of running operator 'VersionLessThan' on property 'IEVersion' and value '5.01': false
    Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.00': false
    Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': false
    Result of checks for command 'DotNetFX\langpack.exe' is 'Install'
    '.NET Framework 2.0 (x86)' RunCheck result: Install Needed
    Verifying file integrity of C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\langpack.exe
    WinVerifyTrust returned 0
    File trusted
    Installing using command 'C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\langpack.exe' and parameters ' /q:a /c:"install /l /q"'
    Process exited with code 4121
    Status of package '.NET Framework 2.0 (x86)' after install is 'InstallFailed'

    2009年12月4日 8:08
  • 你是说你的程序在你的虚机上装.NET Framework 2.0的时候报错了?如果是的话,你的虚机是什么操作系统?有没有试过独立下载.NET 2.0的安装包进行安装?


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年12月4日 8:14
  • 虚拟机是XP的。
    以前下载安装过2.0
    如果我手动安装2.0是没有问题的。
    只有自动安装时出错。


    2009年12月4日 8:22
  • 从日志上来看,似乎在安装语言包的时候(在运行“C:\DOCUME~1\0\LOCALS~1\Temp\VSD1A.tmp\DotNetFX\langpack.exe' and parameters ' /q:a /c:"install /l /q”)出的问题。

    有没有试过在其他机器上安装过呢?或者重新做一台新的虚机看一下。
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 male110 2009年12月4日 9:03
    2009年12月4日 8:26
  • 我找人帮我试试看。


    2009年12月4日 9:03
  • 如果有问题的话,可以告诉我,我会继续追踪的。 :)


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年12月4日 9:06