WiXベースのインストーラーからデスクトップショートカットを(バッチファイルに)インストールしています-[管理者として実行]設定を有効にしてこのショートカットを自動的に構成するにはどうすればよいですか?ターゲットOSはWindowsServer2008 R2であり、インストーラーは昇格された特権で実行されています。
更新:
@Andersによって提供されたリンクのおかげで、私はこれを機能させることができました。これはC#CustomActionで行う必要があったので、コードのC#バージョンは次のとおりです。
namespace CustomAction1
{
public class CustomAction1
{
public bool MakeShortcutElevated(string file_)
{
if (!System.IO.File.Exists(file_)) { return false; }
IPersistFile pf = new ShellLink() as IPersistFile;
if (pf == null) { return false; }
pf.Load(file_, 2 /* STGM_READWRITE */);
IShellLinkDataList sldl = pf as IShellLinkDataList;
if (sldl == null) { return false; }
uint dwFlags;
sldl.GetFlags(out dwFlags);
sldl.SetFlags(dwFlags | 0x00002000 /* SLDF_RUNAS_USER */);
pf.Save(null, true);
return true;
}
}
[ComImport(), Guid("00021401-0000-0000-C000-000000000046")]
public class ShellLink { }
[ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("45e2b4ae-b1c3-11d0-b92f-00a0c90312e1")]
interface IShellLinkDataList
{
void AddDataBlock(IntPtr pDataBlock);
void CopyDataBlock(uint dwSig, out IntPtr ppDataBlock);
void RemoveDataBlock(uint dwSig);
void GetFlags(out uint pdwFlags);
void SetFlags(uint dwFlags);
}
}