![]() |
1
0
我刚刚花了一个小时调查这个问题,真的没有好的答案。因为MSI是从标准用户进程调用的,不需要提升,所以MSI永远不知道用户可以提升,所以没有设置特权属性。 我认为自定义操作可能有助于解决这个问题,但搜索C#Detect Admin会发现各种类和API调用都有相同的行为。 如果我从提升权限的命令提示符安装原型MSI,则条件评估为true,并安装“admin.txt”文件。从非高架的角度来看,它没有安装。 那我该怎么办?两件事之一: 1) 制作第二个Docs MSI,这是一个需要提升的永久机器安装 或 2) 构建并部署一个docs.exe,该文件显示需要管理员。如果程序成功提升,则让它将PDF从嵌入式资源提取到临时目录,并执行ShellExecute以启动带有该文件的默认PDF查看器。 |
![]() |
2
0
Administrative Installation :管理员通常会执行安装程序的管理安装(文件提取)——至少如果他们在做应用程序打包的大公司工作。因此,我倾向于让这样的文件在提取的源媒体上很容易看到,而不是在正常安装过程中安装它们(或者两者兼而有之,也不管是哪一个)。 示例管理安装(美化文件提取):
More about Administrative Installations .
管理.pdf
:这是一个我还没有广泛测试的快速黑客。
运行管理安装将把admin.pdf解压缩到顶级解压缩目录:
管理功能在正常安装GUI中隐藏。更改属性“Display”以更改此设置。例如,出于测试目的,只需将其删除即可。 |