小编Rob*_*ing的帖子

如何存储/检索RSA公钥/私钥

我想使用RSA公钥加密.存储或检索私钥和公钥的最佳方法是什么?XML在这里是个好主意吗?

如何获得钥匙?

RSAParameters privateKey = RSA.ExportParameters(true);
RSAParameters publicKey = RSA.ExportParameters(false);
Run Code Online (Sandbox Code Playgroud)

因为RSAParameters具有以下成员:D,DP,DQ,Exponent,InverseQ,Modulus,P,Q

哪一个是关键?

.net c# cryptography rsa

43
推荐指数
2
解决办法
6万
查看次数

使用MSI ui的bootstrapper

我有准备安装的MSI文件.它包含一个自定义UI,也可以从用户收集数据.作为安装的一部分,如果遗漏,我想安装以下内容

  • .Net框架4.0
  • Microsoft Visual C++ 2010可再发行组件包(x64)

根据我的经验,bootstrapper也应该包含UI.如何使用bootstrapper仅启动先决条件阶段,然后继续安装MSI UI?

wix

16
推荐指数
1
解决办法
8478
查看次数

所有SMTP通信都发生在25以上吗?

是否所有SMTP通信都在port25上的域之间发送电子邮件?所有通信都是无担保的吗?了解使用类似Gmail通信的安全保护Gmail服务器,但必须使用不安全的端口25,对吗?

SMTP可以在任何端口上,但这不是我所说的.我不是在谈论连接到Gmail,Yahoo或ISP SMTP服务器.这些是SMTP中继,它们接受任何希望为其用户加密/未加密的端口的SMTP请求.

但是一旦SMTP中继服务器收到请求,邮件服务器就会根据域名MX记录将其转发到电子邮件.它只在端口25上使用SMTP吗?邮件服务器只知道域名,然后转发它.它无法知道他们正在收听哪个端口.

例如,我正在为我的域托管Exchange服务器2007.我连接到我的Exchange服务器以发送邮件到xyz@gmail.com.我的交换服务器必须通过行业标准协议进行通信,对吧?这是端口25(因为我的Exchange服务器没有端口25就无法工作).

smtp

12
推荐指数
2
解决办法
3万
查看次数

组件testcomp安装到用户配置文件.它必须使用HKCU下的注册表项作为其KeyPath,而不是文件

我想在WiX的Doucments位置下复制一个文件.但它给出了警告:

组件testcomp安装到用户配置文件.它必须使用HKCU下的注册表项作为其KeyPath,而不是文件.

我的代码:

<Directory Id='PersonalFolder' Name='MyDocuments'>
   <Component Id='testcomp' Guid='08C288B6-D8E0-4036-9CEB-E5F616AC6B5C'>
      <File Id='doc_code_file1' Name='doc_code_file1' DiskId='1'
            Source='Personalfolder\Visual Studio 2012\Code Snippets\Visual C#\My Code Snippets\SimpleMvvm\mvvmcommand.snippet' KeyPath='yes'></File>
   </Component>
</Directory>
Run Code Online (Sandbox Code Playgroud)

wix

12
推荐指数
1
解决办法
7445
查看次数

从PackageID获取显示名称

查看Wix Standard Bootstrapper应用程序的源代码,看起来每个包都有一个DisplayName属性:

pPackage->sczDisplayName
Run Code Online (Sandbox Code Playgroud)

但是,WiX安装项目中使用的BootstrapperCore dll没有此属性.有没有办法从托管代码中的包中提取此属性?

wix bootstrapper burn wix3.6

9
推荐指数
2
解决办法
2034
查看次数

使用Wix编辑Web.Config连接字符串设置

我目前正在尝试修改我的Wix(V3.5)安装程序以编辑我想要安装的.NET应用程序的Web.config设置.这适用于普通的ASP.NET应用程序,但现在我尝试将我的Wix设置项目应用于Entity Framework .NET应用程序,您可能知道它具有更复杂的连接字符串设置,模型.csdl和.ssdl设置.

因此,如果我的web.config连接字符串设置看起来像这样:(其中[DBSERVER]和[DBNAME]是从对话框中恢复的属性)

  <connectionStrings>
   <add name="SSITacticalSolutionEntities" connectionString="metadata=res://*/Model.TacticalSolutionModel.csdl|res://*/Model.TacticalSolutionModel.ssdl|res://*/Model.TacticalSolutionModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=sd-sql2008r2;Initial Catalog=SsiTacticalSolution1.2.4;Integrated Security=True;MultipleActiveResultSets=True&quot; />
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我在我的Product.Wsx文件中编辑我的Web.config,其中包含以下内容:

   <util:XmlFile Id="ModifyConnectionString" Action="setValue" Permanent="yes" File="[INSTALLLOCATION]Web.config"
                  ElementPath="/configuration/connectionStrings/add[\[]@name='!(loc.EntityName)'[\]]" Name="connectionString"
                  Value="Data Source=[DBSERVER];Initial Catalog=[DBNAME];Integrated Security=true;providerName=System.Data.EntityClient;MultipleActiveResultSets=True&quot;"   Sequence="5"/>
Run Code Online (Sandbox Code Playgroud)

我得到一个像这样的连接字符串:

  <connectionStrings>
      <add name="SSITacticalSolutionEntities" connectionString="Data Source=sd-sql2008r2;Initial Catalog=SsiTacticalSolution1.2.4;Integrated Security=true;providerName=System.Data.EntityClient;MultipleActiveResultSets=True&quot;"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

这当然有意义,因为我要求它用我在值中定义的内容替换当前的连接字符串属性.

但我真正需要的是编辑我的连接字符串的特定部分并留下余数(我可以在这里使用某种替换操作),即保留所有模型设置并只更换数据库服务器和名称等因为我需要.我以前使用Visual Studio安装程序这样做没有问题,它很容易使用.

所以我的问题是可以使用util.XMLFile或者util:XmlConfig来完成吗?我没有运气就试过了.

或者这不可能与util.XMLFile一起使用,我是否必须在CustomAction中执行此操作?任何想法都会有很大的帮助,在此先感谢...

.net entity-framework wix wix3.5

8
推荐指数
1
解决办法
8630
查看次数

如何在Wix中管理具有相同名称的文件?

我有一些dll编译在.Net3.5或.Net4.0中.(它们具有相同的名称)
在wix中,我有2个条件特征.
功能A安装我的应用程序的.net3.5 dll与ComponentRef Id ="Cmp35"
功能B安装.net4.0 dll与ComponentRef Id ="Cmp40"
功能是互斥的,只安装了一个功能.

我的组件:

<?xml version="1.0" encoding="UTF-8"?>  
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">  
    <Fragment>  
        <DirectoryRef Id="INSTALLDIR">  
            <Component Id="Cmp35" Guid="..">  
                <File Id="Behaviors.Assembly" Name="$(var.Behaviors.v3.5.gen.TargetFileName)" Source="$(var.Behaviors.v3.5.gen.TargetPath)" />  
               <File Id="Other.Assembly" Name="$(var.Other.v3.5.gen.TargetFileName)" Source="$(var.Other.v3.5.gen.TargetPath)" />  
           </Component>  
           <Component Id="Cmp40" Guid="...">  
               <File Id="Behaviors.Assembly.4.0" Name="$(var.Behaviors.v4.0.gen.TargetFileName)" Source="$(var.Behaviors.v4.0.gen.TargetPath)" />  
               <File Id="Other.Assembly.4.0" Name="$(var.Other.v4.0.gen.TargetFileName)" Source="$(var.Other.v4.0.gen.TargetPath)" />  
           </Component>  
       </DirectoryRef>  
    </Fragment>  
</Wix>
Run Code Online (Sandbox Code Playgroud)

我在编译过程中出错:错误LGHT0204:ICE30:目标文件......由LFN系统上的两个不同组件安装在......:
似乎我有一个问题,因为文件名是相同的...
是有办法管理这个吗?谢谢!

wix wix3.5

5
推荐指数
2
解决办法
3519
查看次数

安装非常大的文件

我有一个 MSI 包,除了程序组件之外,它还安装了一个大型数据库文件。此文件不包含在包中,但与 msi 文件一起提供。到目前为止,这个设置没有问题。现在数据库增长到大于 2 GB 的大小。这会在安装时引发错误(在 Win7 机器上测试):

“写入文件时出错:[数据库文件路径]。检查您是否对该文件夹具有权限。”

在互联网上搜索显示,windows Installer 似乎对大于 2GB 的文件有问题。作为解决方案,建议不要将文件包含在 MSI 中,而是将未压缩的文件与 msi 一起发送。这就是我们已经在做的事情。因此,建议的解决方案不起作用。

有没有办法使用 Windows Installer 安装大于 2 GB 的文件?这个限制对我来说似乎有点过时了。

PS:如果有帮助,安装是使用 WIX 构建的,但任何有关在 msi 数据库本身中修改内容的提示都值得赞赏

windows-installer wix large-files

5
推荐指数
1
解决办法
2614
查看次数

WIX捆绑创作

我试图创建一个MSI,它有和exe.使用WIX中的Bundle选项.这样做会导致错误.有人可以帮我解决这个问题.以下是代码:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"  
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Bundle Version="1.0.0.0" UpgradeCode="7AE2E358-B5A0-44B1-9B29-FDD275992993">
    <Chain>
      <ExePackage Id="Netfx4Full" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" 
                  SourceFile="ca\dotNetFx40_Full_x86_x64.exe"              
                  DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"            
                  DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)" />
    </Chain>
 </Bundle>
Run Code Online (Sandbox Code Playgroud)

错误

错误LGHT0089:找到多个输入部分"{A1B42CCE-8AFE-11E2-AC8C-B3456288709B}"和"{8E644424-3113-462E-9197-32DF7​​40AEB78}".单个目标中可能只存在一个输入部分.

wix

5
推荐指数
1
解决办法
1167
查看次数

在 WIX 中运行时动态为快捷方式分配名称

我想根据用户输入为快捷方式分配不同的名称。使用 WiX 工具集是否可行?我尝试将属性值分配给元素Name的属性Shortcut,但它不起作用。

wix wix3.7

4
推荐指数
1
解决办法
2570
查看次数