Tag: windows installer

Windows Installer(C#)错误代码2869

我在VS 2005中有一个项目,它有一个控制台应用程序和一个与安装应用程序相关的安装项目。 我还在控制台应用程序中有一个安装程序类,安装程序将在安装之前使用它来进行一些validation。 这些任务是检查数据库连接字符串并检查某些目录位置以确保它们在安装之前存在。 我尝试安装应用程序时收到错误代码2869。 所有代码都是用C#编写的。 我在Google XP上搜索了这个错误代码,但只找到了与Vista和Windows 7相关的文章。任何想法可能会发生什么? 有解决方法吗?

如何使用CustomAction更改ROOTDRIVE?

通常,您可以更改默认根驱动器以将应用程序安装到使用: D:\ 但是现在,我希望使用在我的安装向导中单击下一个按钮时调用的CustomAction来更改它: [CustomAction] public static ActionResult SetFullInstallRootDrive(Session session) { session[“ROOTDRIVE”] = session[“DRIVE_NAMES”].ToString(); } DRIVE_NAMES表示使用combobox选择的驱动器,并且ROOTDRIVE可以正确设置为我选择的任何本地驱动器(例如, C:\或D:\ )。 但是,安装程序始终安装到最初在上面的属性中设置的D:\驱动器。 发生了什么,以及如何在自定义操作中动态更改此属性的值,以便我可以让用户选择根驱动器来安装我的Web应用程序? 属性DOES已设置,但它不使用它,它几乎就像ROOTDRIVE属性仅在安装向导开始时被评估一次。

从C#静默执行MSI包

新手问题,让我尽量让它尽可能清楚。 我有一个程序需要静默执行一个msi包(好多个但不是问题) MSI包包含在与我的程序位于同一目录中的文件夹中。 我暂时给它一个简单的名称“InstallFiles”。 我并不热衷于使用完整路径名称,例如。 C:\我的程序\另一个目录\另一个目录等,因为它将被放在多个PC上,无论是旧的还是新的,在这种情况下,驱动器号可以改变。 到目前为止我有: install.StartInfo.FileName = “msiexec”; install.StartInfo.Arguments = “/i F:\\InstallFiles\\JRE.msi”; install.Start(); install.WaitForExit(); 但是,当它启动时它只给我Windows Installer开关信息然后终止,我如何让它运行,我将如何改变文件路径?

如何向InstallShield项目添加.NET Framework 3.5和其他先决条件

我可以在InstallShield 2009中创建安装文件 我不知道如何将.NET Framework 3.5和其他先决条件添加到InstallShield项目。 我在instalshield2009中的creae installscript项目还没有 “Redistributables视图。”

Setup Project正在添加内置的.NET Framework .System程序集以进行输出

我正在使用VS Community 2015,其中包含Setup Project扩展 。 我从未见过这个问题与2010一起工作。问题是当我向输出中添加一个项目时,Detected Dependencies列出了我在项目中使用的所有dll,包括内置的: 运行安装程序后,它继续安装一百个dll文件,包括应该是.NET Framework一部分的文件,如: System.IO.dll System.Linq.dll 我确信: 我将所有项目设置为.NET 4.5.2 在Setup Project中,我将目标.NET框架设置为.NET 4.5.2 在Setup Project中,我将Prerequisite设置为.NET 4.5.2 我究竟做错了什么? 如何让安装程序只安装不属于.NET Framework的DLL(如Caliburn或NLog)。 谢谢。 编辑1:根据’Claudius’的问题,这里是我的机器上安装的.NET框架列表。 请注意,我正在尝试安装在我正在开发的同一台机器上。 My / bin / Release文件夹没有任何.NET .System目录,应用程序运行正常。 编辑2:发现另一个有类似问题的人。 遗憾地未解决: Visual Studio安装项目:巨大的依赖项列表

在C#自定义操作中更改安装程序属性

如何在C#自定义操作中更改安装程序属性?

MSI和EXE安装程序之间有什么区别,我应该选择哪个?

可能重复: .msi和setup.exe文件有哪些具体区别? 我正在为我的项目的新版本(C#)安装一个安装程序。 以前,我使用Inno Setup创建.exe文件,以便在工作场所的其他计算机上安装我的项目。 虽然阅读了一些教程,但我遇到了Windows Installer XML ,它使用XML文件来构建.msi安装程序。 我的项目将在所有员工都可以访问的网络共享中提供,以便他们可以安装软件(我目前正在处理更新检查程序) .exe和.msi安装程序之间的主要区别是什么? 为什么我要选择一个而不是另一个? 根据我的特定环境,要么更有意义吗? 我在这个问题上找到了一些信息,但没有太多的信息。

如何在TrustedInstaller中编写自己的注册表项

为了将新的属性页安装到Active Directory SnapIn中,我需要写入W2K8 R2的以下注册表项( 如Microsoft所述 ) HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ MMC \ SnapIns {E355E538-1C2E-11D0-8C37-00C04FD8FE93} \ NodeTypes 此密钥由名为TrustedInstaller的特殊用户拥有。 我在NET arround上发现了很多东西。 目前,这是它的工作方式,执行以下操作(用户是管理员组的成员): 我授予用户获得所有权的权限。 用户取得所有权 用户编写注册表 用户授予管理员组的所有权。 我的项目完全用C#编写,有两件事我不喜欢这样做。 我使用InteropServices来调用Win32 AdjustTokenPrivileges API。 有没有人知道在纯C#中这样做的方法? 最后,TrustedInstaller不再是密钥的所有者,而且我无法给予他所有权,他保持完全控制权,但我不希望我的服务器在安装我的管理单元后被归类为已损坏。 所以我的问题是:我是否遗漏了某些东西,是否有记录的方法来修改这样一个被记录为可修改的密钥? 存在一个Stack溢出问题 ,答案说TrustedInstaller所有权,意味着密钥是系统安装的一部分而不是应用程序安装。 对我来说,如果Microsoft记录了如何修改它的应用程序安装的密钥。 提前致谢。

用我的应用程序c#安装sql server数据库

我编写了一个使用SQL Server数据库的C#应用​​程序。 该程序的目标用户将运行SQL Server 2008 R2。 我已经创建了一个安装程序(visual studio中的部署项目)来安装我的程序,但我也希望它能够安装数据库。 我该如何完成呢?

如何在安装结束时运行nGen(MSI)?

我想在安装结束时执行nGen只是为了提高应用程序首次启动的感知性能。 我怎么能这样做? 有一些最佳做法吗? 我可以确定nGen始终与.NET Framework一起安装吗? 谢谢!