Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 一些应用程序如何能够简单地解压并在Windows PC上运行而不出现SxS问题?_Visual Studio 2008_Visual C++_Deployment_Side By Side_Sxs - Fatal编程技术网

Visual studio 2008 一些应用程序如何能够简单地解压并在Windows PC上运行而不出现SxS问题?

Visual studio 2008 一些应用程序如何能够简单地解压并在Windows PC上运行而不出现SxS问题?,visual-studio-2008,visual-c++,deployment,side-by-side,sxs,Visual Studio 2008,Visual C++,Deployment,Side By Side,Sxs,某些团体普遍抱怨说,在Windows上安装会将文件分散到文件系统和注册表中,有些应用程序提供了简单解压文件的选项,这样你就可以“卸载”正在删除的文件。但是如何避免Visual C++、DIST、SXS等的丑陋呢? 我有一个小的实用程序,我真的更喜欢只分发一个运行的.EXE-没有安装程序,甚至解压,因为它很小。这是否可行 编辑: 正如所建议的,我尝试在运行时使用静态依赖项(/MT而不是/MD)构建。我得到了以下信息(为了清晰起见,中间部分被截断): 如果静态链接到VC运行时,则可以分发单个EXE—

某些团体普遍抱怨说,在Windows上安装会将文件分散到文件系统和注册表中,有些应用程序提供了简单解压文件的选项,这样你就可以“卸载”正在删除的文件。但是如何避免Visual C++、DIST、SXS等的丑陋呢? 我有一个小的实用程序,我真的更喜欢只分发一个运行的.EXE-没有安装程序,甚至解压,因为它很小。这是否可行

编辑: 正如所建议的,我尝试在运行时使用静态依赖项(/MT而不是/MD)构建。我得到了以下信息(为了清晰起见,中间部分被截断):


如果静态链接到VC运行时,则可以分发单个EXE—在项目的属性页->配置属性->C/C++->代码生成上,并将“运行时库”设置为“非dll”选项


根据您的目标受众,以.exe格式分发可能会有问题,因为公司环境中有时会阻止下载.exe文件,因此建议同时提供.zip文件。

exe Vs-zip;说得对,说得对。当我尝试静态构建(
/MT
而不是
/MD
)时,我遇到了大量链接器错误。将更新我的问题来说明。在进一步检查后,我得到了比预期更少的麻烦工作
1>Linking...
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __mbschr already defined in LIBCMT.lib(mbschr.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _realloc already defined in LIBCMT.lib(realloc.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __strdup already defined in LIBCMT.lib(strdup.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _abort already defined in LIBCMT.lib(abort.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __stricmp already defined in LIBCMT.lib(stricmp.obj)
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _setlocale already defined in LIBCMT.lib(setlocal.obj)
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library