在 wix 安装期间在 web.config 中设置加密连接

Set Encrypted connection in web.config during wix installation

我有一个使用 base 64 加密连接字符串的 Web 应用程序。

<add name="connString" connectionString="r5IJ/jyd79T65xiCQ5c6m2vj6B9rVjFMfYiOW7WcpDDVZNJcQGDJfaO6kYfNCvlGXYthl+RHhDVMe6TT7R9Gba96EDTPVOkojQH21QX84yRv0qqn+//QDA==" providerName="System.Data.SqlClient"/>

我正在使用 Wix 打包 Web 应用程序。我的问题是我们如何使用 web.config 中的 wix 安装为我的应用程序加密连接字符串?

验证连接字符串后很简单,使用立即类型的自定义操作加密连接字符串,然后将其存储到某个属性。

可能会在 visual studio 中进行自定义操作项目。 并将您的加密逻辑放入其中。 WIX CustomActions 假设你有两个属性

<property Id="CONSTR" value"abc">
<property Id="CONSTR_ECYTP">

在对话框中将第一个 属性 引用到连接字符串的文本框。

<Control Id="CONNECTIONSTRING" Type="Edit" X="40" Y="76" Width="220" Height="18" Property="CONSTR" Text="{200}" />

向该对话框添加一个下一步按钮。

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next"></control>

现在在此控件内。 调用您自定义的加密操作。

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
    <Publish Event="DoAction" Value="ENCRYPT_CONNSTR" Order="1" >1</Publish>
    <Publish Event="NewDialog" Value="[NEXTDIALOG_ID]" Order="2" >2</Publish>       
</Control>

在自定义操作中设置另一个 属性 喜欢。

session["CONSTR_ECYTP"]=Encryptfunction(session["CONSTR"])