Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio WiX安装后,我的exe文件不';双击无法工作,只能作为管理员工作运行_Visual Studio_Installation_Wix - Fatal编程技术网

Visual studio WiX安装后,我的exe文件不';双击无法工作,只能作为管理员工作运行

Visual studio WiX安装后,我的exe文件不';双击无法工作,只能作为管理员工作运行,visual-studio,installation,wix,Visual Studio,Installation,Wix,当我将此MSI软件包安装到%ProgramFiles%并创建桌面文件夹的快捷方式时,我使用WiX准备了一个MSI安装项目,该文件夹只能作为管理员运行。当双击时,它不起作用。当我在桌面上安装文件夹时,它是通过双击工作的。我想安装到%ProgramFiles%并双击。请帮助我,我花了2周的时间进行安装 我的密码在这里 <Product Id="*" Name="FlowNet Master" Language="1033" Version="1.0.0.2" Manufac

当我将此MSI软件包安装到
%ProgramFiles%
并创建桌面文件夹的快捷方式时,我使用WiX准备了一个MSI安装项目,该文件夹只能作为管理员运行。当双击时,它不起作用。当我在桌面上安装文件夹时,它是通过双击工作的。我想安装到
%ProgramFiles%
并双击。请帮助我,我花了2周的时间进行安装

我的密码在这里

<Product Id="*" Name="FlowNet Master" Language="1033" Version="1.0.0.2" 
         Manufacturer="Melina-Aero" UpgradeCode="PUT-GUID-HERE">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform='x64'  />

<Icon Id="icon.ico" SourceFile="Images\Splash Screen.jpg" />
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
<!--    <Property Id="MSIUSEREALADMINDETECTION" Value="1" />-->

<WixVariable Id="WixUIBannerBmp" Value="Images\Banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="Images\Background.bmp" />
<WixVariable Id="WixUILicenseRtf" Value="Licences\EULA.rtf" />
<Property Id="AllUSERS" Value="1"/>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER2"/>
<UIRef Id="WixUI_InstallDir"/>

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />

提升权限:在
%ProgramFiles%
下安装的文件对于标准用户(以及管理员,除非您通过UAC提示符提升权限)将是只读的。您必须确定您的应用程序正在执行的操作要求对此文件夹下安装的文件具有写访问权限,或者您是否尝试写入注册表中的HKLM,这将导致相同的问题(拒绝访问例外)。您的应用程序还可能尝试执行某些仅对管理员用户可用的操作,从而导致需要提升(特权与访问权限(ACL)不同,在整个系统中无处不在,而不是“附加”到对象上,例如“更改系统时间”,因为缺少更好的示例)

移动文件:,但推荐的文件很少。我建议您移动导致用户配置文件出现异常的设置文件,并以完全写入权限将设置存储在那里。您也可以将自定义ACL权限应用于已安装的文件(请参见上文链接中的第6节),但出于许多原因(安全、保存设置等),这不是一个好主意。请参阅上面的链接,了解备选方案的更多说明(将设置存储在数据库中,并在启动时访问和其他方法)


检查列表:这里是

附加调试器:我有时使用的一种技术是将调试二进制文件安装到
%ProgramFiles%
,然后立即从启动序列显示一个消息框(如果启动进行得太远的话)。然后,我将Visual Studio调试器附加到消息框,并从已安装的产品启动交互式调试,以检查错误和异常

免责声明:虽然很明显,但必须提到:不要在实际发布中使用调试二进制文件
1)
完全不合法,
2)
由于透明度问题,这不是一个好主意 调试二进制文件的反向工程可能性,以及
3)
调试运行时二进制文件将不存在于非开发人员框中(并且不要尝试静态链接-如果在调试模式下可能的话)。最后:它 当你弄得一团糟时,很容易忘记用发行版二进制文件重建 像这样进行调试。这肯定会发生

依赖项扫描:有许多工具可用于扫描可能导致启动问题的依赖项问题。也可以查看“Visual Studio模块视图”部分。我不确定该视图是否会显示正在使用的设置文件(或加载的二进制文件)


某些链接