C# 基于MSI文件名更改Windows应用程序的GUI
我们正在使用C#开发一个Windows应用程序。我们希望根据brandname更改GUI(背景图像和其他控制图像和文本) 应用程序的典型安装程序的名称为C# 基于MSI文件名更改Windows应用程序的GUI,c#,.net,user-interface,themes,skin,C#,.net,User Interface,Themes,Skin,我们正在使用C#开发一个Windows应用程序。我们希望根据brandname更改GUI(背景图像和其他控制图像和文本) 应用程序的典型安装程序的名称为brandname\u programname.msi。我们必须从MSI中获取品牌名称,并基于此分配GUI。请注意,我们没有传递任何其他对象、设置,以指示MSI中不同品牌名称以外的差异。我们如何才能达到这个结果 请不要使用WPF解决方案。您的描述让我相信您正在所有安装中发送整个品牌图像和文本集合,然后通过更改msi文件的名称来过滤gui元素 我发
brandname\u programname.msi
。我们必须从MSI中获取品牌名称,并基于此分配GUI。请注意,我们没有传递任何其他对象、设置,以指示MSI中不同品牌名称以外的差异。我们如何才能达到这个结果
请不要使用WPF解决方案。您的描述让我相信您正在所有安装中发送整个品牌图像和文本集合,然后通过更改msi文件的名称来过滤gui元素 我发现这是一个非常不稳定的解决方案,因为你完全依赖于你的管理员不重命名msi文件-例如,如果管理员将名称从“CompanyA_programname.msi”更改为“programname.msi”,会发生什么情况,用“在文件名中使用我们的名称没有任何用处-我们只有这个名称”来证明这个决定是正确的 此外,许多客户不希望与竞争对手分享他们的品牌元素,因此在msi中包含所有品牌形象可能会与您的客户协议相冲突 在我看来,您应该从另一个角度来解决这个问题——要么为每个品牌构建一个单独的msi文件,要么只构建一个单一类型的msi,并强制安装环境将gui元素作为文件夹或zip文件提供。然后使用这些元素填充gui,而不考虑公司 诚然,folder/zip方法仍然是不稳定的,当没有这样的文件时,您必须处理这种情况,但仍然不存在单点故障
根据我以前的经验,我强烈建议你为每个品牌建立一个单独的msi文件。通过这种方式,您可以最大限度地降低因误用而导致故障的风险或恶性行为的风险。您的描述让我相信,您在所有安装中发送的是整个品牌图像和文本集合,然后通过更改msi文件的名称来过滤gui元素 我发现这是一个非常不稳定的解决方案,因为你完全依赖于你的管理员不重命名msi文件-例如,如果管理员将名称从“CompanyA_programname.msi”更改为“programname.msi”,会发生什么情况,用“在文件名中使用我们的名称没有任何用处-我们只有这个名称”来证明这个决定是正确的 此外,许多客户不希望与竞争对手分享他们的品牌元素,因此在msi中包含所有品牌形象可能会与您的客户协议相冲突 在我看来,您应该从另一个角度来解决这个问题——要么为每个品牌构建一个单独的msi文件,要么只构建一个单一类型的msi,并强制安装环境将gui元素作为文件夹或zip文件提供。然后使用这些元素填充gui,而不考虑公司 诚然,folder/zip方法仍然是不稳定的,当没有这样的文件时,您必须处理这种情况,但仍然不存在单点故障
根据我以前的经验,我强烈建议你为每个品牌建立一个单独的msi文件。通过这种方式,您可以最大限度地降低因误用而导致故障的风险或恶性行为的风险。这似乎是一种非常脆弱的方法—人们总是重命名MSI文件。这似乎是一种非常脆弱的方法—人们总是重命名MSI文件。