VS20xx IDE开发应用时_拷贝VS环境的库文件DLL到目标设备上运行的操作步骤

问题场景:

  当用VSIDE开发完一个项目,在部署到目标环境中时,配置文件OK,但是报错需要调试

《1》Deploying Visual C++ library DLLs as shared assemblies

  VC++的Redistributable Package,可以被用来部署“release”版本的VC++ 库文件。 往往在VCIDE中有三个版本(1)X86, (2)X64, (3)IA64, 分别可以单独用于不同版本的Windows操作系统。

  这个包只能安装release版本的Visual C++库。

  而debug版本的VisualC++库或者使用debug versions of Visual C++ Merge Modules模块,或者Debug versions can either be deployed as private assemblies两种方式处理。

debug Merge Modules能处理debug版本的应用。

  it is possible to install a merge module by using Windows Installer (msiexec.exe)

步骤

(1)新建文件结构,保证开发环境与部署环境的文件结构一致。

  For this example, create a \bin folder and copy myapplication.exe there. Then create a \bin\mylibrary folder and copy MyLibrary.dll there.

(2)把这个文件拷贝到目标设备中。

(3)Visual C++ Redistributable Package (vcredist_x86.exe),把这个文件拷贝到目标设备中:

  这个文件在开发PC上的位置:%PROGDIR%\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\vcredist_x86\vcredist_x86.exe

  如果是VC++ eXpress版本,则没有这个文件,可以在Microsoft Visual C++ 2005 Redistributable Package (x86).下载。

  http://translate.google.cn/#en/zh-CN/Redistributable%20Package

(4)运行(vcredist_x86.exe)。

  这样,安装VisualC++库文件为共享的方式文件。在目标设备中:On a target computer with support for manifest-based binding of applications to their dependencies (Windows XP Home Edition, Windows XP Professional, Windows Server 2003, Windows Vista), the libraries are installed in the WinSxS folder.

  vcredist_*.exe installs only the release versions of Visual C++ DLLs.

(5)你的应用可以在目标设备上执行。

参考网址:

  https://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx

时间: 2024-10-15 12:15:24

VS20xx IDE开发应用时_拷贝VS环境的库文件DLL到目标设备上运行的操作步骤的相关文章

Linux系统裁减之,制作一个极度精简的Linux-用脚本实现自动拷贝命令和依赖库文件

第2章 用脚本实现自动拷贝命令和依赖库文件 这篇文章主要是对我上一篇博文http://blog.51cto.com/linuxprince/2045703加以完善的,前一篇文章中拷贝命令和依赖库文件的过程是完全手工方式的,显得特别LOW,这章把该过程完善一下,用脚本方式实现. 2.1命令具体实现方法 创建脚本文件bincp.sh输入一下内容: #!/bin/bash # DESPATH=/mnt/sysroot libcp() { LIBPATH=${1%/*} [ ! -d $LIBPATH

[terry笔记]11gR2_DataGuard搭建_拷贝数据文件

11gR2搭建dataguard环境: 自己做的实验,后续按照rman模式搭建.主备切换.模式调整等实验会陆续发上来. primary: OS:oel 6.4 database:11.2.0.4.0 192.168.100.131 hostname=node4 ORACLE_SID=good ORACLE_HOME=/u01/product/11.2.0 db_unique_name=good standby: OS:oel 6.4 database:11.2.0.4.0 192.168.100

C++ Primer笔记9_构造函数_拷贝构造(深拷贝与浅拷贝)

1.构造函数: >构造函数是一个特殊的.与类同名的成员函数,用于给每一个成员设置适当的初始值. >构造函数不能有返回值,函数名与类名同样. >缺省构造函数时,系统将自己主动调用该缺省构造函数初始化对象,缺省构造函数会将全部数据成员都初始化为零或       空.缺省构造函数是不带參数的构造函数. >创建一个对象时,系统自己主动调用构造函数. 构造函数的特点: 1.构造函数能够重载,传入什么实參决定调用不同版本号的构造函数. 2.构造函数不能声明为const .也不能声明为virtu

maven发布时在不同的环境使用不同的配置文件

在开发时,不同的环境总会使用到不同的配置.如本地,测试,预发布,发布等环境,像数据库这些都要使用到不同的配置.如果手动改的话肯定会十分的麻烦. 还好maven提供的功能能够帮我们解决这个问题. 我们通过不同环境使用不同数据库的配置来说明 直接上代码: 1.db.properties jdbc.username=${jdbc.username} jdbc.password=${jdbc.password} jdbc.url=${jdbc.url} name=${myName} 2.dev.prop

selenium IDE 回放时出现的问题: Link has target '_blank', which is not supported in Selenium!

问题描述:如果点击的链接代码是: 由于target="_blank",点击这个链接,会打开一个新的窗体.在新窗体中打开对应的href.但是由于slenium不能保证正确找到新打开的窗体,会报这个错. [warn] Link has target '_blank', which is not supported in Selenium! Randomizing target to be: selenium_blank28994 因此需要设置一下火狐浏览器,就可以弹出新的窗口了,如下: s

string类的写时才拷贝(Copy-On-Write)

写时才拷贝(Copy-On-Write)的原理是什么? Copy-On-Write,其实是使用了一个计数器.当第一个类构造时,计数器初始值为1,string类的构造函数会根据传入的参数从堆上分配内存,当其他类需要这块内存时,这个计数器自动累加.当有析构函数时,这个计数器会减1,直到当计数器为1时,即最后一个类析构.此时,程序才会真正的delete这块从堆上分配的内存. 2.  string在什么情况下会发生写时才拷贝(Copy-On-Write)? 当string类中发生内存共享且内容发生改变时

Windows Server+AMD GPU+HDMI时_黑边_不铺满问题的解决办法

HDMI接显示器或电视,有黑边或者被放大了是个很常见的问题,显卡设置界面里改下Scale或者Overscan/Underscan就行,可问题是WindowsServer版的CCC没有控制颜色对比度和缩放的那个界面. 不怕,直接改注册表就好. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{Your Card GUID}\0000]"TVEnableOverscan"=dword:00000000"Digi

用MPLAB IDE编程时,软件总是弹出一个窗口提示: “the extended cpu mode configuration bit is enabled,but the program that was loaded was not built using extended cpu instructions. therefore,your code may not work properly

用MPLAB IDE编程时,软件总是弹出一个窗口提示:"the extended cpu mode configuration bit is enabled,but the program that was loaded was not built using extended cpu instructions.therefore,your code may not work properly."怎么办? 在main函数前加一句伪指令:#pragma config XINST=OFF即

分钟数转换成倒计时,格式 _天_时_分

#region 分钟数转换成倒计时,格式 _天_时_分 + string MinutesToCountdown(int Minutes) /// <summary> /// 将分钟数转换成倒计时 格式:_天_时_分 /// </summary> /// <param name="Minutes">分钟数</param> /// <returns></returns> public static string Min