C# 如何使用msi安装程序删除文件的写入权限?

C# 如何使用msi安装程序删除文件的写入权限?,c#,winforms,installation,C#,Winforms,Installation,Iam正在为我的winforms应用程序使用visual studio安装项目(msi安装程序)。如何删除对c驱动程序文件的写入权限?如何在msi安装程序中逐步实现文件权限 我试图用cacls删除文件权限。但它不起作用。程序文件文件夹只能通过管理员权限写入。这意味着您正在询问如何防止运行提升(具有管理员权限)的代码写入Program files文件夹中的文件。我不清楚您需要什么访问限制来阻止提升代码执行提升代码应该执行的操作,因为这是一个与安全相关的问题,而不是安装程序的问题 设计问题的简单答案

Iam正在为我的winforms应用程序使用visual studio安装项目(msi安装程序)。如何删除对c驱动程序文件的写入权限?如何在msi安装程序中逐步实现文件权限


我试图用cacls删除文件权限。但它不起作用。

程序文件文件夹只能通过管理员权限写入。这意味着您正在询问如何防止运行提升(具有管理员权限)的代码写入Program files文件夹中的文件。我不清楚您需要什么访问限制来阻止提升代码执行提升代码应该执行的操作,因为这是一个与安全相关的问题,而不是安装程序的问题

设计问题的简单答案是,您应该尝试使用有限的用户权限而不是管理员权限运行应用程序,因为有限的用户无法写入Program files文件夹中的文件。然而,您并没有描述您试图解决的潜在问题,您只是询问如何实施您提出的解决方案

如果cacls不起作用,就无法判断它是否永远不起作用(例如,您正在进行的是Just me安装),或者您是否出现了实现错误(因为您编写了某种自定义操作来执行此操作,而您的代码不正确)。所有这些问题的一般答案都是“编写自定义操作”,但如果没有您尝试的详细信息,就不可能知道它为什么不起作用,但这就是答案,如果自定义操作不起作用,那么这是一个设计或编码问题,需要显示代码并说明它是“所有人”还是“仅我”安装