Tag: windows installer

在.MSI自定义操作中安装证书无法正常工作

我正在尝试在自定义操作中在本地计算机存储中安装证书。 证书已安装,但当我使用它来查询AWS时,我收到此错误: 对象仅包含密钥对的公共一半。 还必须提供私钥。 安装程序正在升级 ,目标是Windows Vista。 如果我使用单独的.exe来安装完全相同的证书,使用完全相同的代码,它的工作原理。 那么使用Windows Installer安装证书时有什么不同呢? 代码: private void InstallCertificate(string certificatePath, string certificatePassword) { if (IsAdmin()) { try { X509Certificate2 cert = new X509Certificate2(certificatePath, certificatePassword, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet); X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); store.Add(cert); store.Close(); } catch (Exception ex) { throw new DataException(“Certificate appeared to load successfully but also […]

如何使用Windows安装程序设置默认安装路径?

使用Windows安装程序部署程序时,如何设置默认安装路径。

使用MSI安装版本设置AssemblyInfo版本号

我正在使用安装项目来发布我的项目。 我希望每个项目的版本与安装版本相同。 我想在Visual Studio中更改我的安装版本属性,并且在构建之后,对于要从此属性更新的所有项目版本,这可能吗?

使用命令行选项将msi转换为exe …

我想将msi文件转换为exe文件。 当我使用msnxec的qn选项运行msi文件时,我的软件安静地安装。 但现在我想将该msi文件转换为.exe文件,并且该exe文件使用msiexec / i“msi文件路径”/ qn选项运行msi文件,任何想法如何操作。

从托管代码获取安装日期

是否有托管API使用产品GUID检索应用程序的安装日期? 谢谢。 斯科特

如何在Web安装项目中创建新的应用程序池?

我需要部署我的Web服务。 它需要使用自己的凭据在IIS中的单独应用程序池中运行。 是否可以通过在VS 2008中使用Web安装项目来实现此目的? 默认情况下,我似乎只能选择现有的应用程序池。

如何在安装时(或在编译时轻松)配置Windows服务的名称?

我用C#创建了一个Windows服务,将它安装在服务器上运行正常。 现在我想再次安装相同的服务,但是从不同的工作目录运行,具有不同的配置文件等。因此,我希望同时运行同一服务的两个 (或更多)实例。 最初,这是不可能的,因为安装程序会抱怨已经安装了给定名称的服务。 我可以通过更改我的代码,将ServiceBase.ServiceName属性设置为新值,然后重新编译并再次运行InstallUtil.exe来解决此问题。 但是,我更喜欢我是否可以在安装时设置服务名称,即理想情况下我会做类似的事情 InstallUtil.exe / i / servicename =“MyService Instance 2”MyService.exe 如果这是不可实现的(我非常怀疑),我希望能够在构建服务时注入服务名称。 我认为有可能使用某种构建事件,使用聪明的msbuild或nant技巧或类似的东西,但我没有线索。 任何建议将不胜感激。 感谢您的时间。

标记MSI,因此必须以提升的管理员帐户运行

我有一个CustomAction作为MSI的一部分。 它必须作为域帐户运行,该帐户也是本地Administrators帐户的成员。 它不能使用NoImpersonate标志将自定义操作作为NT Authority \ System运行,因为它不会访问网络资源。 在启用了UAC的Vista / 2008上,如果NoImpersonate处于关闭状态,则它将作为执行用户运行,但具有非特权令牌,并且无法访问本地资源,例如.installState。 请参阅UAC架构 任何人都知道一种方法 强制MSI使用提升的令牌运行,就像从提升的命令提示符运行一样? 强制CustomAction运行提升(清单中的requireAdministrator似乎不起作用)? 如果UAC已启用且未升级并且是否已警告或取消安装,请确定?

Wix自定义动作序列

我试图安装到我的软件,这个软件有一些先决条件。 我为他们制作了一个Bootstrapper wix并尝试单独运行它们而不是在Main Wix安装程序中似乎工作正常。 当我试图连接我从Wix安装程序中的Bootstrapper获得的EXE时,我开始出现故障。 先决条件引导程序有.Net和MS C ++,问题似乎是当我的Wix安装程序调用先决条件时,并且恰好在C ++安装时它会中断。 但是,如果我尝试单独安装Prerequisites EXE,它可以正常工作。 在两种情况下,我都试图将其称为文件和二进制文件,但是我失败了。 这是我如何称呼它: <!– –> <!– –> 我想要的顺序是在将文件复制到Program文件后安装它们 Not Installed 错误 : [18F0:04C0] [2018-03-13T14:01:04] w348:应用程序请求重试包:vcredist_x64.exe,遇到错误:0x80070652。 重试… [173C:176C] [2018-03-13T14:01:07] i301:应用执行包:vcredist_x64.exe,操作:安装,路径:C:\ ProgramData \ Package Cache \ 13674C43652B941DAFD2049989AFCE63CB7C517B \ vcredist_x64.exe,参数:’“C:\ ProgramData \ Package Cache \ 13674C43652B941DAFD2049989AFCE63CB7C517B \ vcredist_x64.exe”/ qb / norestart'[173C:176C] [2018-03-13T14:01:11] e000:错误0x80070652:进程返回错误:0x652 [ 173C:176C] [2018-03-13T14:01:11] e000:错误0x80070652:无法执行EXE包。 [18F0:04C0] […]

卸载自定义操作不删除注册表项

在我的程序中,我在当前用户下创建了一个注册表项。 该程序由具有最高权限的任务计划程序运行(S-1-5-32-545)。 在我的卸载自定义操作中,我有代码删除此密钥。 当我以管理员身份运行时,删除密钥的代码有效。 从卸载自定义操作运行时,代码不起作用。 我猜测它在后一种情况下不起作用的原因是因为当卸载程序执行时当前用户与本地管理员执行代码时不同。 从卸载自定义操作运行时,如何删除此注册表项? 如何将卸载自定义操作指向正确的当前用户?