VC_RED.cab, VC_RED.MSI, install.res.1028.dll etc.. Can be removed!

如果你想知道如何或所有这些有趣的文件(如下所示)正坐在你的c:\或其他驱动器,然后你会请知道他们生成临时文件由一个Visual c++可再发行的安装包。 不幸的是,包不清理之后。

如果他们不是在你的c:\驱动器,因为实际上,安装程序看起来驱动器的最可用空间或者类似的!

下列文件可以安全地删除。

安装exe
install.res.1028.dll
install.res.1031.dll
install.res.1033.dll
install.res.1036.dll
install.res.1040.dll
install.res.1041.dll
install.res.1042.dll
install.res.2052.dll
install.res.3082.dll
vcredist.bmp
globdata.ini
安装ini
eula.1028.txt
eula.1031.txt
eula.1033.txt
eula.1036.txt
eula.1040.txt
eula.1041.txt
eula.1042.txt
eula.2052.txt
eula.3082.txt
vc红msi
vc红出租车

如何:安装Visual C + +可再发行的与你的安装程序吗
如果您的应用程序依赖于Visual c++运行时你可以将它们安装程序的一部分来简化安装您的最终用户体验。 这如何描述包括Visual c++运行时合并模块到你的安装程序和解释了预期的冰警告你会看到。

步骤1:获取正确的Visual c++运行时合并模块
Visual c++运行时合并模块安装Visual Studio和位于 Program Files \通用文件\合并模块 。 Visual c++ 8.0运行时文件 Microsoft_VC80_CRT_x86.msm 。 同样的男男同性恋者是用于Visual c++ 8.0 SP1运行时,然而它是更新的地方Visual Studio 2005 SP1安装程序。 Visual Studio 9.0运行时文件 Microsoft_VC90_CRT_x86.msm 。www.nanyupedu.com 一般来说不需要包括政策MSMs作为安装的一部分。

步骤2:包括合并模块在你的安装程序
包括合并模块在你安装程序使用 <合并> 和 < MergeRef > 元素。 下面的例子说明了如何使用这些元素。

<DirectoryRef Id="TARGETDIR">
    <Merge Id="VCRedist" SourceFile="MySourceFiles\Microsoft_VC80_CRT_x86.msm" DiskId="1" Language="0"/>
</DirectoryRef>
<Feature Id="VCRedist" Title="Visual C++ 8.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
    <MergeRef Id="VCRedist"/>
</Feature>
Merge元素确保合并模块包含在最终的Windows安装程序包。 分配一个惟一的id使用id属性。 这个SourceFile属性指向的位置,在你的机器上的合并模块。 这个DiskId属性应该匹配DiskId中指定项目的媒体元素。 www.wangcunmedu.com 语言属性应该是0。

MergeRef元素中使用的是一个特性元素实际安装合并模块。 在上面的例子中一个特定于运行时特性创建并标记为隐藏,以防止它显示在您的安装程序可能使用任何UI。 这个MergeRef指合并模块以其独特的id。

一个注意冰的警告
包括Visual c++运行时合并模块在你安装程序将导致以下冰警告:

light.exe(0,0): warning LGHT1076: ICE03: String overflow www.xiaolingedu.com(greater than length permitted in column); Table: Component, Column: KeyPath, Key(s): downlevel_manifest.8.0.50727.762.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Component, Column: KeyPath, Key(s): downlevel_manifest.8.0.50727.100.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Component, Column: KeyPath, Key(s): downlevel_manifest.8.0.50727.101.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Component, Column: KeyPath, Key(s): downlevel_manifest.8.0.50727.103.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Component, Column: KeyPath, Key(s): downlevel_manifest.8.0.50727.104.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Component, Column: KeyPath, Key(s): downlevel_manifest.8.0.50727.193.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Registry, Column: Registry, Key(s): reg_downlevel_manifest.8.0.50727.100.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Registry, Column: Registry, Key(s): reg_downlevel_manifest.8.0.50727.101.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Registry, Column: Registry, Key(s): reg_downlevel_manifest.8.0.50727.103.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Registry, Column: Registry, Key(s): reg_downlevel_manifest.8.0.50727.104.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Registry, Column: Registry, Key(s): reg_downlevel_manifest.8.0.50727.193.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: Registry, Column: Registry, Key(s): reg_downlevel_manifest.8.0.50727.762.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE25: Possible dependency failure as we do not find CRT.Policy.63E949F6_03BC_5C40_FF1F_C8B3B9A1E18E@0 v in ModuleSignature table
light.exe(0,0): warning LGHT1076: ICE82: This action SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 1 in the table InstallExecuteSequence
light.exe(0,0): warning LGHT1076: ICE82: This action SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 1 in the table InstallUISequence
light.exe(0,0): warning LGHT1076: ICE82: This action SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 1 in the table AdminExecuteSequence
light.exe(0,0): warning LGHT1076: ICE82: This action SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 1 in the table AdminUISequence
light.exe(0,0): warning LGHT1076: ICE82: This action SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 1 in the table AdvtExecuteSequence
预计这些警告,由于Visual c++如何合并模块撰写的。 为更多的细节看见 亚伦Stebner的博客条目 。