![]() |
1
3
这不是一个非常好的主意,因为用户可以在任何他们想安装的地方安装它,然后检查可能会失败。相反,当用户安装应用程序时,请选中一个复选框,以决定它是本地安装还是安装在服务器上。 |
![]() |
2
0
正如您所看到的,在处理UAC文件夹虚拟化时,我也发现了一些问题。我建议您采取一种解决方案,它似乎可以工作。 它源于一个假设,即提升的进程总是使用原始拷贝,而不是虚拟拷贝(CMIIW)。另外,我假设您的安装进程是以提升的方式执行的 其思想是创建一个“常规”进程(非提升的、遗留的),您的主安装程序应该运行该进程。这个过程将在用户选择的文件夹中创建一个文件名,其名称和内容是您的两个程序都知道的(例如,test73819704.bin)。如果文件夹已虚拟化,则此文件应显示在用户virtualstore中,而不应显示在原始文件夹中(从安装程序的角度和权限来看)。 因此,对于选定的C:\程序\文件\但不必\和进程-1(提升)
不幸的是,我现在不能测试它,但我想它应该可以工作,这背后有一个逻辑,使用process-2,您只需模拟主程序的行为) |
![]() |
3
0
我们允许用户在任何地方安装… 如果用户采用默认设置,并安装在程序文件中,我们假设需要写入文档和设置/用户。否则,我们将数据写入软件所在目录下的文件夹。当然,这仍然会导致问题,而且安装确实允许人们选择不同的数据位置,如果他们选择不使用默认值的话。 除此之外,它是一个简单的ini文件更改和一个用于移动数据的副本。 在启动时,我们通过比较从shgetfolderpath(csidl_program_files)获得的值和可执行文件所在的路径的开头来检测是否在program files目录中。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |