Articles of windows installer

数据包被捕获后会发生什么?

我一直在阅读网卡捕获数据包后发生的事情,而我越读越多,我就感到困惑。 首先,我已经阅读了传统的网卡捕获数据包之后,它被复制到内核空间的一块内存,然后到用户空间的任何应用程序,然后在数据包的数据。 然后我读了关于DMA的信息,NIC直接将数据包复制到内存中,绕过CPU。 那么是网卡 – >内核内存 – >用户空间内存stream量仍然有效? 另外,大多数NIC(如Myricom)是否使用DMA来提高数据包捕获率? 其次,RSS(接收端缩放)在Windows和Linux系统中的工作是否类似? 我只能在MSDN文章中find有关RSS如何工作的详细解释,其中讨论了RSS(和MSI-X)如何在Windows Server 2008上工作。但RSS和MSI-X的相同概念仍然适用于Linux系统, ? 谢谢。 问候,Rayne

在Linux机器上创build一个自解压zip压缩文件

由于一些我不会涉及的限制,我必须在Linux机器上创build一个自解压的ZIP压缩文件。 生成的压缩文件只能在Windows上执行。 这是可能吗? 如果是这样的话,什么工具可以完成这项工作 背景:当用户从我的Linux机器上下载一个安装包时,我需要安装程序包预先填充一个特定的密钥。 我只知道在运行时的密钥; 我的想法是用这个键编写一个简单的.xml文件,然后用.xml文件将.msi安装程序压缩到一个自解压的压缩文件中,然后将该文件发送到浏览器。 如果你对如何实现这个目标有另外的想法,我也很乐意听到

在安装期间检测并要求安装Windows QFE /补丁程序

我们的WiX安装程序将.NET 4.0 WinForms应用程序部署到Windows Vista和7个桌面。 该应用程序包括一个需要.NET补丁的可移植类库 (KB2468871)。 我们需要安装补丁作为先决条件。 修补程序有多种应用方式: 下载KB2468871补丁并安装它 安装便携式库工具 作为使用ClickOnce的先决条件(可能是#1的变体) 使用类似问题的build议,我创build了一个CustomAction来检查我发现的QFE(#1)是否返回true。 private static bool IsPatchAlreadyInstalled() { // If the patch is installed, we can find it using WMI var query = new SelectQuery("SELECT HotFixID FROM Win32_QuickFixEngineering WHERE HotFixID = 'Q2468871' OR HotFixID = 'KB2468871'"); var results = new ManagementObjectSearcher(query).Get(); return results.Count > 0; } […]

一些计算机,“Windows安装程序”再次从程序运行时加载的C#程序中检索

我使用VSI_bundle.exe打包了一个C#应用程序,当它安装在某些PC上时,尝试运行该应用程序时出现以下消息。 Windows Installer >>>“请稍候,Windowsconfiguration(产品名称)” 然后,应用程序将运行良好,但是当我closures并重新打开时,我再次遇到同样的情况。 我怎样才能解决这个问题?

如何手动删除MSI安装?

我正在学习VS 2008安装项目,为我们的C#应用​​程序创build安装。 我犯了一个错误,试图在卸载过程中删除exe本身。 现在我手动删除exe文件,但条目仍然在添加删除程序列表。 我试图安装一个固定的新版本,但msi不允许我这样做。 我怎样才能手动删除旧版本(我可以使用registry,没问题)? 我正在使用XP机器。 谢谢 编辑:我删除它在该卸载registry项中的子项后,我仍然无法安装我的较新版本。

有没有办法部署.Net应用程序而不使用MSI?

我有一个.Net程序,我想安装在terminal服务器上。 在过去,我创build了安装程序项目并生成了一个MSI。 但是,terminal服务器要求所有用户在运行MSI之前先closures,我想避免这种情况。 有没有办法做一个没有微星安装? 有时对于某些用户帐户,我可以简单地复制.exe并使用它。 但是,对于其他用户这样做会引发明显存在的文件错误的“文件未find”错误。 (显然有registry设置必须存在运行.net EXE可能会或可能不会存在,如果EXE尚未“正式”通过MSI安装?)

Windows安装程序在Win 10上失败,但不是Win 7在使用WIX

我最近被分配到更新我们的项目安装程序在Windows 10上运行,我在如何让它工作有点损失。 我没有做安装程序的经验,并且正在不断熟悉我自己的stream程,以及我们的项目如何处理它。 到目前为止,安装程序可以正常运行在我们的Windows 7虚拟机上,但是在Windows 10虚拟机上运行时,安装程​​序会在最后失败,并开始回滚。 我已经得到它吐出一些日志文件,我正在挖掘他们,但是相当损失。 我追查了这一点: MSI (s) (B0:F4) [17:39:02:883]: Note: 1: 1708 MSI (s) (B0:F4) [17:39:02:883]: Note: 1: 2205 2: 3: Error MSI (s) (B0:F4) [17:39:02:883]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1708 MSI (s) (B0:F4) [17:39:02:883]: Note: 1: 2205 2: 3: Error MSI […]

使用WiX生成和安装Typelib

在询问Visual Studio如何注册一个COM库之后 ,很明显,VS为COM注册做了两件事情: 注册COM库 创build并注册一个types库 Visual Studio似乎使用regasm.exe执行此注册。 对于第一部分(直接COM注册)使用tallow或heat (WiX 2.0或WiX 3.0)似乎得到正确的所有基本COM注册信息。 然而,牛油/热似乎没有做的是build立一个types库安装。 使用WiX安装程序和regasm.exe创build自定义操作是可能的,但是对于基于Microsoft安装程序的安装程序,调用自定义操作不是最佳实践。 经过进一步的研究,看起来像msi有能力在安装时生成types库。 实际上,WiX似乎对它有直接的支持! 在一个文件元素中,你可以添加一个Typelib元素。 实际上, wix上的一篇文章有一个用Interface元素填充TypeLib元素的例子。 看起来界面元素至less有两个必需的属性: ID 名称 Larry Osterman谈到接口的其他部分,一般需要注册TypeLib ,而这个接口条目似乎负责单独的部分。 拉里说,我们需要指定ProxyStubClassId32为“{00020424-0000-0000-C000-000000000046}”,所以我们可以很容易地添加。 从哪里去,什么填写各种界面元素让我难住。 我已经提前将TypeLib元素添加到我的wix文件,并成功编译。 对于如何设置界面元素,我有点无知。 我们需要做些什么来正确地填写TypeLib元素,以及我可以使用哪些应用程序或工具来获取它? wcoenen下面的答案看起来很有希望…我会试试看。 更新:发表我的最终解决scheme作为答案。

寻找灵活的Windows安装程序产品与强大的脚本语言

我工作的公司在过去的几年中一直在使用某个安装程序(它的名字与我们切换的另一个安装程序产品非常相似)。 我最近的任务是重新安装安装程序,充实所有导致各种问题的小错误和边缘情况。 我发现产品如此僵化和笨重,我真的相信,如果我们继续使用这个产品,我们永远不会有一个不错的抛光安装程序。 使用的脚本语言是非常有限的,只能通过他们的IDE工作(这是一些超过devise的文本编辑器,其中的ENTER键不能做你认为应该),文件不是纯粹的ASCII格式保存,但一些自定义乱码。 他们的全部重点是使用他们的devise师,这当然混淆了脚本中的所有自定义逻辑。 他们的插件收集是最暗淡的说,最好的产品本身有很多的错误。 (不要害怕,包装很漂亮) 我正在寻找一个安装程序产品,它具有足够强大的脚本语言和工具包(或插件)来处理我们的安装,包括创buildWindows服务,Internet下载,IIS站点,SQL服务器数据库以及所有其他常见的东西。 如果这是我要求的一件事情,那么这是一个强大的脚本语言,可以让我控制。 它不一定是漂亮的或有一个devise师。

Visual Studio 2008安装程序项目 – 自定义操作不触发

我似乎无法获得自定义操作。 我可能做错了。 这是我想要做的: 我想在运行可执行文件的应用程序安装(Visual Studio Installer项目)中运行自定义操作。 可执行文件只是执行一些system.io文件拷贝任务,而且我已经确认,可执行文件本身运行时可以完美运行。 我创build了安装程序项目 将该exe文件添加到应用程序文件夹 去自定义操作,并将该exe文件添加到提交步骤 InstallerClass被设置为true 跑安装程序,没有得到我期待的结果。 所以我添加了一行来写入Windows日志。 再次运行安装程序后,在Windows日志中查看,看起来没有运行。 添加了一个debug.break exe文件Unisntalled /重新安装我的安装程序,什么都没有发生。 我终于坐下来看着进程,并确认exe永远不会被执行。 有什么想法吗? 目标系统:Windows XP,Vista Visual Studio版本:2008 Sp1语言:VB.NET目标框架:2.0 优秀。 我想我已经越来越近了,感谢您发布的代码。 我把它转换为VB,我得到这个错误:无法findmyexename.savedstate。 我假设我应该把东西传递给你发布的潜艇,但我不知道是什么。 (顺便说一下这是一个控制台应用程序)我添加了一个对System.Configuration.Install.dll的引用,这里是我的代码: 导入System.ComponentModel 导入System.Configuration.Install _ 公共类ApplicationInstaller inheritance安装程序 公共重载覆盖子提交(ByVal savedState As IDictionary) “做一些承诺的工作 The_Sub_I_Want_To_Run() 结束小组 公共重载覆盖子安装(BYVAL stateSaver作为IDictionary) '做一些安装工作 结束小组 公共重载覆盖Sub Uninstall(ByVal savedState As IDictionary) '做一些卸载工作 结束小组 末class 我没有这样说。 我从来没有使用过安装程序类。 […]