在安装过程中出现Activator.CreateInstance对象的InvalidCastException
我有以下过程 private static IMyInterface OpenInstance( string assemblyPath, string classType, string assemblyName, out AppDomain domainInstall) { IMyInterface interface = null; AppDomainSetup domaininfo = new AppDomainSetup(); domaininfo.ApplicationBase = assemblyPath; domainInstall = AppDomain.CreateDomain("PathInstall", null, domaininfo); ObjectHandle handleService = null; try { handleService = Activator.CreateIn
0 2024-04-16
编程技术问答社区
将文件添加到exe中,然后提取它们
我正在制作Windows安装程序,我需要在程序中放置一些文件,然后在程序运行时将它们提取到某个文件夹中,可以说我要将3个文件放在单个EXE文件中. 非常感谢您提前的帮助,爱您stackoverflow成员:) 解决方案 在这里阅读:/a> 这显示了如何将资源提取到流中,然后可以将此流写入磁盘. 其他解决方案 存在两个选项:(1)将文件添加为资源,(2)将整个软件包附加到EXE末尾,并以某种方式(带有魔术数字)进行标记,然后打开EXE用于阅读和阅读数据.第二种方法是自我提取的ZIP或PGP档案通常如何工作,此方法效果很好.
0 2024-04-16
编程技术问答社区
.Net框架--"无法找到运行此应用程序的运行时间版本"
带有/NET Framework 4.0安装的M/C的机器(带SP3的Win XP)(没有以前的框架版本) 当尝试运行在框架中编译的程序以前版本的.NET框架(即=> 3.5)遇到的程序下方遇到了低于初始化错误. ". 在谷歌搜索中找到-g 更改配置 可能有助于解决,但这也没有起作用.任何帮助将不胜感激. 解决方案 我能够解决这个问题. 以下信息将为处于我的情况的人提供帮助. 在您的应用程序中插入以下启动标签.config文件
0 2024-04-16
编程技术问答社区
用我们的setup-vs2010桌面应用部署安装其他应用
我需要在VS 2010中将PowerPoint查看器嵌入我的设置. 当我创建的用户运行设置时,PowerPoint Viewer设置在安装过程中会自动启动. 谢谢 解决方案 将安装程序类添加到您的开发 namespace CLT { [RunInstaller(true)] public partial class ClientInstall : Installer { public ClientInstall() { InitializeComponent(); } public override void Install(IDictionary stateSaver) { base.Install(stateSaver); System.Diagnostics.Process.S
0 2024-04-16
编程技术问答社区
Wix自定义动作运行dll c#
我正在使用自定义操作从DLL运行函数,但是当我运行构建的MSI时,我会收到错误: "此Windows Installer软件包存在问题.无法运行此安装所需的DLL.请联系您支持... 这就是我所做的: 1
0 2024-04-16
编程技术问答社区
创建安装程序包 Visual Studio 2010
我有一个C#应用程序,需要.NET版本4才能运行.我知道如何使用Visual Studio随附的Visual Stuido Installer设置项目创建基本安装程序,并且可以将我的应用程序安装正常,但是,我无法检查.NET版本4是否已经在客户端计算机和机器中安装如果不安装.有没有人有什么建议?除了这种方法之外,我还应该使用其他方法吗?购买安装罩许可证不是一个选择,因为这太贵了.谢谢 解决方案 您应该关注长而短的是,如果您将其设置为先决条件,则安装程序将检查它是否已安装.
0 2024-04-16
编程技术问答社区
从VS.NET MSI安装程序项目中为所有用户安装快捷方式
我在这里搜索并搜索了.我尝试了以下方法,没有运气: 将Project Installer Promerites设置为 - 安装Forallusers(不记得确切的名称),但这确实将快捷方式添加到了所有用户的菜单中,但只有安装应用程序的用户才能运行它.其他用户会发现无法安装它或其他用户. 再次设置[DesktopFolder]或[AlluserStartMenu],我可能不正确,但是我从这里发布的一些用户关注了这些属性名称.赋予这些属性具有诱因的价值.安装程序在安装过程中失败,并说"无法找到网络位置1"或类似的东西. 使用orca编辑MSI文件并为所有用户添加属性,并在Orca内部失败,而错误的错误是无法添加属性的错误. 这很疯狂.我正在使用Visual Studio2010.我认为我只是在推动Instller的限制.我的安装是一个桌面应用程序(Winforms),该应用程序具有自定义安装程序的操作和类,该操作将某些值写入用户在安装过程中所做的选择(自定义UI In
0 2024-04-16
编程技术问答社区
我如何从我的安装程序中设置这个注册表值
在我的 .msi 安装程序软件包中,我有一个C#自定义操作,该操作写入注册表值: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 延期自定义操作是因为我需要为要安装的某些钥匙而提高特权.但是,由于延期延迟,此操作将其写入系统帐户的当前用户,因为它以升高的权限启动,因此我的注册表值实际上写在: 中. HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run 如何让安装程序将此注册表值写入启动安装程序包而不是系统帐户注册表的用户注册表? 解决方案 Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names"); key.SetValue("Name", "Isabella"); key
0 2024-04-16
编程技术问答社区
闭源程序集的 "无法证实的代码未通过政策检查"
我正在尝试在MSI安装例程中从C#程序中的资源流中动态加载一些(购买的)组件,但是我得到了"无法验证的代码失败策略检查". 我在网上阅读了一些有关使用/clr:安全的嵌入式组件的提示,但我没有这个选择.有没有办法解决此政策检查? 谢谢. 解决方案 加载无法验证的代码的唯一方法是从禁用验证的完整信任过程(也许是应用程序域). 编辑:我没有做这个, C#语言设计师之一说"无法验证的代码需要完全信任,并且通常必须避免使用" 其他解决方案 已经为时已晚,但可能会对某人有所帮助. 我已经使用了 sqlite dll 在我的项目中,当我在沙箱环境上部署代码时,我得到了例外(见下文) [FileLoadException: Unverifiable code failed policy check. (Exception from HRESULT: 0x80131402)] [FileLoadException: Could not load file
0 2024-04-16
编程技术问答社区
VS安装程序项目-安装后执行一些代码
我有Visual Studio 2017,并且刚刚添加了 topshelf . . 要手动安装Windows服务,我打开一个CMD窗口,并在应用程序文件夹(例如bin/debug)中运行命令以安装Windows Service应用程序. 问题 现在,我确定安装程序没有方便的功能可以安装服务,因为它唯一要做的是将某些文件放在目标目录中. 所以我的问题是 安装程序是否可以在安装完成后运行一些代码? 如果没有,则有什么选择? 解决方案 您可以在安装程序项目的各个阶段添加"自定义操作".右键单击"解决方案资源管理器"中的项目,然后选择:"查看 - >自定义操作".然后,您可以添加一个DLL(您已经构建了 - 请参见下文 - 并在目标PC上安装)以在此过程中的各个点"执行". 添加了DLL后,您需要指定"输入点"过程(例如,在下面的示例中)和((选项)"自定义操作数据"以传递到该过程([TARGETDIR]>) - 安装目录 - 在示例代码中). 当
0 2024-04-16
编程技术问答社区
如何停止Windows服务来进行升级安装?
我使用Visual Studio 2008开发了Windows服务以及设置项目.当我进行升级安装时,我会收到以下警告: 以下应用程序正在使用安装程序必须更新的文件.您可以关闭应用程序,然后单击"重试",或单击"继续",以便安装程序继续安装,并在系统重新启动时替换这些文件. 我想在升级安装期间停止Windows服务.我尝试创建一个自定义操作并覆盖onBeforeStall Methoc,但是在警告弹出消息已经发生后,这太晚了. 有什么方法可以作为MSI安装程序的一部分来实现此目的.我宁愿在执行MSI安装程序之前不必作为单独的任务执行此操作. 更新: 基于进一步的研究,我发现MSI数据库确实支持了这一点,但是内置的Visual Studio Installer(Setup)项目没有提供这样做的手段.必须调整MSI数据库,或使用Wix或商业安装程序. 解决方案 查看:升级Windows服务而无需卸下 /p> 其他解决方案 如果要沿着编辑MSI Servic
0 2024-04-16
编程技术问答社区
在被纳入设置项目之前,重新命名项目输出
我有一个EXE,该EXE已构建并放置在一个设置项目中进行部署. 我想在包含在设置项目中之前,重命名生产的EXE(为.scr文件 - 它是屏幕保护程序).我该怎么做? 我知道我可以在后安装过程中重命名该文件,但我不想这样做,我希望将文件重命名为在包含在设置项目中 任何帮助将是非常感谢 我正在使用Visual Studio 2008,并且该程序以C# 编写 谢谢 解决方案 我在 msdn 您需要在CSPROJ文件中设置一些壁后事件(手动编辑),这是我的外观 其他解决
0 2024-04-16
编程技术问答社区
SetValue 64位机器注册表
我想在下面的注册表路径中设置" nomodify"的值. " HKEY_LOCAL_MACHINE \ SOFTWORD \ MICROSOFT \ Windows \ CurrentVersion \ Uninstall \ XXXX" 我正在使用以下代码,它仅适用于X86机器.您能看到任何原因为什么不适用于X64机器吗? // This value is correct RegistryView registryView = releaseFlags.Contains("PLATFORM_X86") ? RegistryView.Registry64 : RegistryView.Registry32; using (RegistryKey hkeyLocalMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, registryView)) { RegistryKey n
0 2024-04-15
编程技术问答社区
将dll文件添加到C#项目中
这是一个初学者的问题,但是... dll参考和dll的图像和项目文件中包含的dll图像 如果您查看上图,则添加了" bass.net" dll作为参考,也直接作为项目中的文件. 有人可以告诉我这是什么意义? 解决方案 没有理由.可能是Visual Studio设置为不显示项目中的文件(从图片中很难分辨),而DLL的恰好位于主要目录中.文本很清楚,额外的文件是 bass.dll bassenc.dll lame.exe .net一个恰好与其他目录中的其他目录一起添加为参考. 其他解决方案 在Windows中,Dll是这就是使代码正常工作所必需的,其余的实际上只是偏好或惯例.有些人更喜欢在解决方案中的项目目录中拥有所有文件,以便解决方案资源管理器反映文件系统.通常,您需要拥有库您的应用程序取决于解决方案目录层次结构中的某个地方,以便整个应用程序都包装在一起(例如,使源代码控制使用更容易,例如).但是,您不想将此库放在bin目录或Visual
0 2024-04-15
编程技术问答社区
用本地数据库创建winForms的安装程序
我有一个具有本地数据库的Winforms应用程序(Checkers Game)(使用SQL Server Express) 保存注册玩家及其分数. 我正在尝试为此应用创建一个教程 一切都很好,但是当我试图添加播放器时,我会遇到SQL错误 那就是没有找到数据库.那么如何将本地DB(.mdf文件)添加到安装程序? 解决方案 规定,在客户端计算机上使用本地数据库的条件还可以(请参阅 LOCALDB在客户端PC上部署),在部署项目中,您可以将数据库文件添加到应用程序文件夹(选择部署项目时,请在解决方案Explorer中选择文件系统编辑器. . 旁注:您是否知道在VS2012中,MSI部署项目模板被弃用? 加法:和其他解决方案 这是我在WPF 中的解决方法.我认为Winform中的解决方案是相同的: 通过右键单击该文件并选择属性,使您的MDF文件" content ".在" 构建动作"中,菜单选择" content ".并在中复制到输出目录选择始终
0 2024-04-15
编程技术问答社区
将dll文件添加到C#项目中
这是一个初学者的问题,但是... dll参考和dll的图像和项目文件中包含的dll图像 如果您查看上图,则添加了" bass.net" dll作为参考,也直接作为项目中的文件. 有人可以告诉我这是什么意义? 解决方案 没有理由.可能是Visual Studio设置为不显示项目中的文件(从图片中很难分辨),而DLL的恰好位于主要目录中.文本很清楚,额外的文件是 bass.dll bassenc.dll lame.exe .net一个恰好与其他目录中的其他目录一起添加为参考. 其他解决方案 在Windows中,Dll是这就是使代码正常工作所必需的,其余的实际上只是偏好或惯例.有些人更喜欢在解决方案中的项目目录中拥有所有文件,以便解决方案资源管理器反映文件系统.通常,您需要拥有库您的应用程序取决于解决方案目录层次结构中的某个地方,以便整个应用程序都包装在一起(例如,使源代码控制使用更容易,例如).但是,您不想将此库放在bin目录或Visual
0 2024-04-15
编程技术问答社区
我需要一个MSI自定义动作,从MSI源目录复制一个文件
我正在使用VS 2008为C#Windows项目创建一个安装程序.我正在尝试编写一个自定义操作,该操作从存储在文件服务器上的MSI文件的源目录中复制设置文件(例如FileShare \ MyAppInstaller \ MySetting.xml)到安装我的应用程序的计算机上的目标目录(例如C:\ Program Files \ My App). 无法将设置文件添加到安装程序中,因为它将包含设置的客户将是客户安装应用程序的独特之处. 是否有人对这种自定义操作有代码(最好是C#或VB.NET)?其他人是否知道如何在自定义操作中获取MSI源位置(例如\ \ server \ fileShare \ myappinstaller). 非常感谢 解决方案 我通过添加 解决了这一问题 /installerpath =" [原始数据库]" to自定义操作的自定义data(在设置项目的标签自定义操作中),并在自定义操作中使用此代码读取值: Publ
0 2024-04-15
编程技术问答社区
是否可以将setup.exe和setup.msi的图标改为不同的图标?
vs 2008 sp1. 我已经为我们的客户创建了一个设置项目. setup.exe和setup.msi的图标是标准图标. 我们的客户不希望这些图标.他们想拥有看起来像徽标的图标. 是否可以将 *.exe和 *.msi图标更改为不同的东西? 解决方案 您可以更改setup.exe图标,但我不确定 *.msi.我尚未对此进行测试. 在Visual Studio中构建设置项目 打开您刚刚构建的setup.exe文件,文件 - > open-> file 右键单击"文件资源管理器"窗口中的图标节点,您可以更改并保存. 在弹出对话框中导入您想要的图标,并确保图标的ID是最小的. 快速的Google搜索提出了其他一些方法,因此,如果这对您的特定情况不起作用,请检查一些这些 out. 其他解决方案 不可能更改MSI的图标.它没有图标设置.如果您安装了Windows安装程序,它只是一个文档,可以作为安装程序包处理.如果没有,您实际上只会看到未知文件类
0 2024-04-15
编程技术问答社区
如何在.NET/C#中以编程方式为我的应用程序在启动文件夹中添加一个快捷方式(.lnk)?
我的应用程序将具有每台机器(不是每个用户)启动快捷方式.我可以在安装程序过程中创建捷径没有问题.当用户后来将其删除然后尝试重新启用时,我的问题就到了.其他单词,它们关闭了RunonStartup(删除启动墨水),并在以后决定他们确实希望它在启动上运行,以便他们重新偏好并重新启用. 显然,这是一个非常常见的gripe,.net没有一种本机来创建快捷方式的方法.但是,还没有找到一个很好的解决方案. 我发现/考虑的解决方案: 而不是创建快捷方式.只需复制一个即可.这可能是一个很好的解决方案.我不能依靠有一个开始菜单链接.但是,我想我可能可以创建一个并将其保存在程序目录中...这将问题转移到了我的安装程序中,以便使用适当的路径创建快捷方式,该路径将在安装时指定. 做其他stackoverflow答案是并使用com包装对象.我想避免使用.它也是在2003年写的.因此,我不确定它将如何支持Vista.我会试一试,但没有方便的远景盒. 改用注册表.这就是我目前这样做的方式
0 2024-04-15
编程技术问答社区
如何指定Excel VSTO安装的装配位置?
我正在创建用C#编写的文档级工作簿/模板,并使用VSTO安装程序部署代码.但是,安装项目后,我具有电子表格的完整功能,当我保存或将安装的表复制到安装文件夹以外的另一个路径时,我会收到以下错误: 具有以下完整详细信息: Name: From: file:///C:/Users/Kronos/Desktop/ExcelTemplate1.vsto ************** Exception Text ************** System.Deployment.Application.DeploymentDownloadException: Downloading file:///C:/Users/Kronos/Desktop/ExcelTemplate1.vsto did not succeed. ---> System.Net.WebException: Could not find file 'C:\Users\Kronos\Desktop\ExcelTemp
0 2024-04-15
编程技术问答社区