如何禁用.msi文件属性的编辑?

时间:2019-08-28 11:58:29

标签: visual-studio wix windows-installer

我是Wix工具的新手,所以我不知道如何更改它。我使用Visual Studio 2017 Extension中的Wix Toolset从我的C#项目中生成.msi文件。生成了msi文件,但是问题是我可以更改文件的属性(例如标题,评论,作者等)。制造商属性也不会出现在详细信息上。我已经看过documentation,并试图在Package元素上添加'ReadOnly'属性,但是它什么也没做。

如何禁用对msi文件属性的编辑?

Product.wxs(产品元素):

<Product Id="*" Name="Program Name" Language="1033" Version="!(bind.FileVersion.ProgramDLL)" Manufacturer="Company Name" UpgradeCode="random GUID">
    <Package InstallerVersion="200" Description="$(var.ProductName) Setup" Comments="$(var.ProductName) is a product of Company Name" Manufacturer="Company Name" Compressed="yes" InstallScope="perMachine" />

<MediaTemplate EmbedCab="yes"/>

<UIRef Id="WixUI_Minimal"/>
<WixVariable Id="WixUILicenseRtf" Value="Programname.License.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="Banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="Welcome.bmp" />
<Icon Id="icon.ico" SourceFile="icon.ico"/>
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
<MajorUpgrade AllowSameVersionUpgrades='yes' Schedule="afterInstallInitialize" DowngradeErrorMessage="A later version of $(var.ProductName) is already installed. Setup will now exit." />

<Property Id='INSTALLFOLDER'>
  <RegistrySearch Id='R_InstallDir' Root='HKLM' Key='SOFTWARE\Program\ProgramName' Name='InstallDir' Type='raw' />
</Property>

<Condition Message="Install Folder of Program Name not found">INSTALLFOLDER</Condition>

    <Feature Id="ProductFeature" Title="Program_Setup" Level="1">
        <ComponentRef Id="Cmp" />
  <ComponentRef Id="License" />
        <ComponentRef Id="DokuXSD" />
    </Feature>
</Product>

1 个答案:

答案 0 :(得分:1)

MSI的企业优势 :MSI的一个关键方面(可能是获得公司认可和使用的最重要的事物之一)是 MSI是一种开放格式。以{strong> transparency customizability reliable silent running 为中心的其他几个key corporate advantages for MSI remote management

开放式MSI文件格式 :我从How to protect MSI against modification开始就得到了这个答案。我不确定这是否与您的要求相符100%,但也许可以快速阅读一下。

MST-转换 :MSI(Windows安装程序)具有称为transforms *.mst 文件)的功能这是一种使用外部文件修改MSI的内置方法,因此可以在不更改实际MSI的情况下进行公司对MSI的修改。换句话说:用户旨在能够自定义您的MSI以供公司使用(使用专用的附加文件)。

摘要 :请不要担心字段会更改,但请考虑使用自己的证书对MSI进行签名,以防止发布文件在传输过程中被篡改给您的客户。另外:请务必检查您的安装程序是否存在恶意软件,并可能更新您的许可协议,以包含以下短语:安装程序在发布时经过了恶意软件检查,并且是恶意软件免费 "to the best of your knowledge" legalese 不是我的专长。做个好检查,因为对包含恶意软件的设置进行签名可以证明您已交付了恶意软件:-)(直到人们也成功破解了签名)。


链接