Windows 需要帮助创建安装文件吗

Windows 需要帮助创建安装文件吗,windows,forms,installation,Windows,Forms,Installation,我有一个c#项目,它使用一个摄像头,其DLL是c++(随摄像头的sdk一起提供的)。显然,VisualStudio不允许我将其添加为项目的引用。因此,我使用了一个使用DLLImport的包装器,并将这些DLL保存在bin文件夹中,以便应用程序在运行时引用它们(使用包装器类)。这在我的x64机器上运行良好。 该相机配有X86和X64位C++ DLL。我遇到过这样的情况,如果我在32位机器上运行,我需要将x86 dll放在bin文件夹中,而在64位机器上运行时,我需要将x64 dll放在bin文件夹

我有一个c#项目,它使用一个摄像头,其DLL是c++(随摄像头的sdk一起提供的)。显然,VisualStudio不允许我将其添加为项目的引用。因此,我使用了一个使用DLLImport的包装器,并将这些DLL保存在bin文件夹中,以便应用程序在运行时引用它们(使用包装器类)。这在我的x64机器上运行良好。 该相机配有X86和X64位C++ DLL。我遇到过这样的情况,如果我在32位机器上运行,我需要将x86 dll放在bin文件夹中,而在64位机器上运行时,我需要将x64 dll放在bin文件夹中。 所以现在我需要准备一个安装文件来检测客户端机器(x64或x86),并将相应的C++ DLL放置在安装的文件夹中,或者动态地引用放置在其上的相应DLL的C++ DLL位置。
我能得到任何帮助来完成这件事吗?有没有安装程序可以做到这一点?

通常,您为每个受支持的平台创建一个安装程序,用户负责选择适合其系统的安装程序。您可以使用Visual Studio创建安装(msi)项目。
为所有平台创建一个安装程序会使维护变得困难,也会使您的msi太大。

是的。。我把问题解决了。很明显,msi的规模越来越大。但要求是这样的。我所做的是。。。在代码中读取客户机,无论它是x64还是x86,并使用[DllImport(“kernel32.dll”,CharSet=CharSet.Auto,SetLastError=true)]静态外部bool SetDllDirectory(字符串lpPathName)定义搜索目录;