3 using System.Collections.Generic;
6 namespace SysGen.RBuild.Framework
9 /// Type of registration
11 public enum AutoRegisterType : int
13 DllRegisterServer = 1,
18 public enum SetupApiFolder : int
20 SourceDrive = 1, //(the directory from which the INF file was installed)
21 OS = 10, //(%SystemRoot%)
22 System = 11, //(%SystemRoot%\system32)
23 Drivers = 12, //(%SystemRoot%\system32\drivers)
24 Inf = 17, //(%SystemRoot%\inf)
25 Help = 18, //(%SystemRoot%\Help)
26 Fonts = 20, //(%SystemRoot%\Fonts)
27 Root = 24, //(%SystemDrive%)
28 Shared = 25, //(%ALLUSERSPROFILE%\Shared Documents)
29 UserProfile = 53 //(%USERPROFILE%)
32 public enum SetupApiShellFolder : int
34 AllUsersApplicationData, // 16419 %ALLUSERSPROFILE%\Application Data
35 AllUsersDesktop, // 16409 %ALLUSERSPROFILE%\Desktop
36 AllUsersMyDocuments, // 16430 %ALLUSERSPROFILE%\Documents
37 AllUsersMyMusic, // 16437 %ALLUSERSPROFILE%\Documents\My Music
38 AllUsersMyPictures, // 16438 %ALLUSERSPROFILE%\Documents\My Pictures
39 AllUsersMyVideos, // 16439 %ALLUSERSPROFILE%\Documents\My Videos
40 AllUsersFavourites, // 16415 %ALLUSERSPROFILE%\Favorites
41 AllUsersStartMenu, // 16406 %ALLUSERSPROFILE%\Start Menu
42 AllUsersStartMenuPrograms, // 16407 %ALLUSERSPROFILE%\Start Menu\Programs
43 AllUsersStartMenuAdministrativeTools, // 16431 %ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools
44 AllUsersStartMenuStartup, // 16408 %ALLUSERSPROFILE%\Start Menu\Programs\Startup
45 AllUsersTemplates, // 16429 %ALLUSERSPROFILE%\Templates
46 UserApplicationData, // 16410 %USERPROFILE%\Application Data
47 UserCookies, // 16417 %USERPROFILE%\Cookies
48 UserDesktop, // 16384 %USERPROFILE%\Desktop
49 UserDesktop2, // 16400 %USERPROFILE%\Desktop
50 UserFavourites, // 16390 %USERPROFILE%\Favorites
51 UserLocalSettingsApplicationData, // 16412 %USERPROFILE%\Local Settings\Application Data
52 UserLocalSettingsMSCDBruning, // 16443 %USERPROFILE%\Local Settings\Application Data\Microsoft\CD Burning
53 UserHistory, // 16418 %USERPROFILE%\Local Settings\History
54 UserTemporaryInternetFiles, // 16416 %USERPROFILE%\Local Settings\Temporary Internet Files
55 UserMyDocuments, // 16389 %USERPROFILE%\My Documents
56 UserMyMusic, // 16397 %USERPROFILE%\My Documents\My Music
57 UserMyPictures, // 16423 %USERPROFILE%\My Documents\My Pictures
58 UserMyVideos, // 16398 %USERPROFILE%\My Documents\My Videos
59 UserNetHood, // 16403 %USERPROFILE%\NetHood
60 UserPrintHood, // 16411 %USERPROFILE%\PrintHood
61 UserRecent, // 16392 %USERPROFILE%\Recent
62 UserSendTo, // 16393 %USERPROFILE%\SendTo
63 UserStartMenu, // 16395 %USERPROFILE%\Start Menu
64 UserStartMenuPrograms, // 16386 %USERPROFILE%\Start Menu\Programs
65 UserStartMenuAdministrativeTools, // 16432 %USERPROFILE%\Start Menu\Programs\Administrative Tools
66 UserStartMenuStartup, // 16391 %USERPROFILE%\Start Menu\Programs\Startup
67 UserTemplates, // 16405 %USERPROFILE%\Templates
68 ProgramFiles, // 16422 %ProgramFiles%
69 ProgramFilesCommonFiles, // 16427 %ProgramFiles%\Common Files
70 SystenResources, // 16440 %SystemRoot%\Resources
71 SystemEnglishResources // 16441 %SystemRoot%\Resources\0409
75 /// An autoregister element specifies that the generated executable should be
76 /// registered in the registry during second stage setup.
78 public class RBuildAutoRegister
80 private AutoRegisterType m_AutoRegisterType = AutoRegisterType.Both;
81 private string m_InfSection = null;
84 /// Name of section in syssetup.inf.
86 public string InfSection
88 get { return m_InfSection; }
89 set { m_InfSection = value; }
93 /// Type of registration.
95 public AutoRegisterType Type
97 get { return m_AutoRegisterType; }
98 set { m_AutoRegisterType = value; }
101 public int RegistrationType
103 get { return (int)Type; }