我是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>
答案 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
不是我的专长。做个好检查,因为对包含恶意软件的设置进行签名可以证明您已交付了恶意软件:-)(直到人们也成功破解了签名)。
链接 :